Make sure we don't clip the cursor while clicking on the window title bar

Sam Lantinga 2014-02-24 22:49:30 -08:00
parent 973d890b83
commit 2a6213ad02
3 changed files with 16 additions and 1 deletions

View File

@ -570,6 +570,20 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
break;
#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_ENTERMENULOOP:
{

View File

@ -746,7 +746,7 @@ WIN_UpdateClipCursor(SDL_Window *window)
SDL_Mouse *mouse = SDL_GetMouse();
/* 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);
return;
}

View File

@ -38,6 +38,7 @@ typedef struct
SDL_bool created;
WPARAM mouse_button_flags;
BOOL expected_resize;
SDL_bool in_title_click;
SDL_bool in_modal_loop;
struct SDL_VideoData *videodata;
#if SDL_VIDEO_OPENGL_EGL