win32ss/user/ntuser/nonclient.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/win32ss/user/ntuser/nonclient.c b/win32ss/user/ntuser/nonclient.c index a3852066b69..c3be76119b3 100644 --- a/win32ss/user/ntuser/nonclient.c +++ b/win32ss/user/ntuser/nonclient.c @@ -394,11 +394,13 @@ DefWndDoSizeMove(PWND pwnd, WORD wParam) 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) != MK_LBUTTON))) { // 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) != MK_LBUTTON))) { // If WindowSnapEnabled: Decide whether to snap before exiting DWORD ExStyleTB, StyleTB; BOOL IsTaskBar;