Fix Mouse Buttons Sticking Down causing unexpected window dragging.
This is a patch supplied by @I_Kill_Bugs and seems to work well as tested by @julenuri.
JIRA issue: CORE-11775 'GIMP 2.6.12: Sticky issue when dragging with the mouse'
JIRA issue: CORE-14998 'Google Chrome 40.0.2214.115, when moving window position by dragging at the titlebar, the drag-end is not detected, the window may stick with the mouse pointer'
Improves JIRA issue: CORE-18511
Proposed changes
Add extra code into nonclient.c procedure DefWndDoSizeMove to drop tracking.
If we get a mouse move with the mouse left button down, then break out of testing.
if (msg.message == WM_KEYDOWN && (msg.wParam == VK_RETURN || msg.wParam == VK_ESCAPE))
break; // Exit on Return or Esc
- if (!g_bWindowSnapEnabled && (msg.message == WM_LBUTTONUP))
+ if (!g_bWindowSnapEnabled && (msg.message == WM_LBUTTONUP ||
+ (msg.message == WM_MOUSEMOVE && (msg.wParam & MK_LBUTTON) == 0)))
{ // If no WindowSnapEnabled: Exit on button-up immediately
break;
}
- else if (g_bWindowSnapEnabled && msg.message == WM_LBUTTONUP)
+ else if (g_bWindowSnapEnabled && (msg.message == WM_LBUTTONUP ||
+ (msg.message == WM_MOUSEMOVE && (msg.wParam & MK_LBUTTON) == 0)))
{ // If WindowSnapEnabled: Decide whether to snap before exiting
DWORD ExStyleTB, StyleTB;
BOOL IsTaskBar;