Make sure we don't clip the cursor while clicking on the window title bar
parent
973d890b83
commit
2a6213ad02
|
@ -570,6 +570,20 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
break;
|
break;
|
||||||
#endif /* WM_INPUTLANGCHANGE */
|
#endif /* WM_INPUTLANGCHANGE */
|
||||||
|
|
||||||
|
case WM_NCLBUTTONDOWN:
|
||||||
|
{
|
||||||
|
data->in_title_click = SDL_TRUE;
|
||||||
|
WIN_UpdateClipCursor(data->window);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case WM_NCMOUSELEAVE:
|
||||||
|
{
|
||||||
|
data->in_title_click = SDL_FALSE;
|
||||||
|
WIN_UpdateClipCursor(data->window);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case WM_ENTERSIZEMOVE:
|
case WM_ENTERSIZEMOVE:
|
||||||
case WM_ENTERMENULOOP:
|
case WM_ENTERMENULOOP:
|
||||||
{
|
{
|
||||||
|
|
|
@ -746,7 +746,7 @@ WIN_UpdateClipCursor(SDL_Window *window)
|
||||||
SDL_Mouse *mouse = SDL_GetMouse();
|
SDL_Mouse *mouse = SDL_GetMouse();
|
||||||
|
|
||||||
/* Don't clip the cursor while we're in the modal resize or move loop */
|
/* Don't clip the cursor while we're in the modal resize or move loop */
|
||||||
if (data->in_modal_loop) {
|
if (data->in_title_click || data->in_modal_loop) {
|
||||||
ClipCursor(NULL);
|
ClipCursor(NULL);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,6 +38,7 @@ typedef struct
|
||||||
SDL_bool created;
|
SDL_bool created;
|
||||||
WPARAM mouse_button_flags;
|
WPARAM mouse_button_flags;
|
||||||
BOOL expected_resize;
|
BOOL expected_resize;
|
||||||
|
SDL_bool in_title_click;
|
||||||
SDL_bool in_modal_loop;
|
SDL_bool in_modal_loop;
|
||||||
struct SDL_VideoData *videodata;
|
struct SDL_VideoData *videodata;
|
||||||
#if SDL_VIDEO_OPENGL_EGL
|
#if SDL_VIDEO_OPENGL_EGL
|
||||||
|
|
Loading…
Reference in New Issue