From 37af78775ddb371501fbcfb74c766a7d68f5470a Mon Sep 17 00:00:00 2001 From: Denis Malikov Date: Sun, 20 Jan 2019 05:05:19 +0700 Subject: [PATCH] [WIN32SS:NTUSER] Fix Window-snap madness (#1246) Desktop window was treated as possible to resize. Fix for 7e396787 CORE-15624 --- win32ss/user/ntuser/defwnd.c | 5 +++++ win32ss/user/ntuser/nonclient.c | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/win32ss/user/ntuser/defwnd.c b/win32ss/user/ntuser/defwnd.c index 67215d1f26d..fc55c4acfba 100644 --- a/win32ss/user/ntuser/defwnd.c +++ b/win32ss/user/ntuser/defwnd.c @@ -787,6 +787,11 @@ IntDefWindowProc( PWND topWnd = UserGetWindowObject(hwndTop); if (topWnd) { + if ((topWnd->style & WS_THICKFRAME) == 0) + { + return 0; + } + if (wParam == VK_DOWN) { if (topWnd->style & WS_MAXIMIZE) diff --git a/win32ss/user/ntuser/nonclient.c b/win32ss/user/ntuser/nonclient.c index 7a5fcc445e8..ba8dececb13 100644 --- a/win32ss/user/ntuser/nonclient.c +++ b/win32ss/user/ntuser/nonclient.c @@ -395,7 +395,7 @@ DefWndDoSizeMove(PWND pwnd, WORD wParam) if (msg.message == WM_LBUTTONUP) { // check for snapping if was moved by caption - if (hittest == HTCAPTION) + if (hittest == HTCAPTION && thickframe && (ExStyle & WS_EX_MDICHILD) == 0) { RECT snapRect; BOOL doSideSnap = FALSE; @@ -1618,6 +1618,10 @@ NC_HandleNCLButtonDblClk(PWND pWnd, WPARAM wParam, LPARAM lParam) case HTBOTTOM: { RECT sizingRect = pWnd->rcWindow, mouseRect; + + if (pWnd->ExStyle & WS_EX_MDICHILD) + break; + UserSystemParametersInfo(SPI_GETWORKAREA, 0, &mouseRect, 0); co_WinPosSetWindowPos(pWnd, -- 2.17.1