Browse Source

Correctly handle mouse leaving the window

pull/1048/head
Anders Jenbo 5 years ago
parent
commit
90d59998f2
  1. 8
      Source/diablo.cpp
  2. 4
      SourceX/miniwin/misc_msg.cpp

8
Source/diablo.cpp

@ -1360,8 +1360,6 @@ void DisableInputWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
sgbMouseDown = CLICK_NONE;
return;
case DVL_WM_CAPTURECHANGED:
if (hWnd == (HWND)lParam)
return;
sgbMouseDown = CLICK_NONE;
return;
}
@ -1425,10 +1423,8 @@ void GM_Game(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
}
return;
case DVL_WM_CAPTURECHANGED:
if (hWnd != (HWND)lParam) {
sgbMouseDown = CLICK_NONE;
track_repeat_walk(FALSE);
}
sgbMouseDown = CLICK_NONE;
track_repeat_walk(FALSE);
break;
case WM_DIABNEXTLVL:
case WM_DIABPREVLVL:

4
SourceX/miniwin/misc_msg.cpp

@ -537,13 +537,15 @@ bool PeekMessage(LPMSG lpMsg)
case SDL_WINDOWEVENT_EXPOSED:
lpMsg->message = DVL_WM_PAINT;
break;
case SDL_WINDOWEVENT_LEAVE:
lpMsg->message = DVL_WM_CAPTURECHANGED;
break;
case SDL_WINDOWEVENT_MOVED:
case SDL_WINDOWEVENT_RESIZED:
case SDL_WINDOWEVENT_SIZE_CHANGED:
case SDL_WINDOWEVENT_MINIMIZED:
case SDL_WINDOWEVENT_MAXIMIZED:
case SDL_WINDOWEVENT_RESTORED:
case SDL_WINDOWEVENT_LEAVE:
case SDL_WINDOWEVENT_FOCUS_GAINED:
case SDL_WINDOWEVENT_FOCUS_LOST:
#if SDL_VERSION_ATLEAST(2, 0, 5)

Loading…
Cancel
Save