[NtUser]
authorJames Tabor <james.tabor@reactos.org>
Wed, 22 Feb 2017 00:01:13 +0000 (00:01 +0000)
committerJames Tabor <james.tabor@reactos.org>
Wed, 22 Feb 2017 00:01:13 +0000 (00:01 +0000)
- Fix : Allow controls to receive non-client messages. See CORE-12771.
- See also https://bugs.winehq.org/show_bug.cgi?id=42503 .

svn path=/trunk/; revision=73875

reactos/win32ss/user/ntuser/nonclient.c
reactos/win32ss/user/ntuser/window.h

index d28577a..3ce9cff 100644 (file)
@@ -1950,6 +1950,8 @@ GetNCHitEx(PWND pWnd, POINT pt)
             RECTL_vInflateRect(&rcWindow, -UserGetSystemMetrics(SM_CXDLGFRAME), -UserGetSystemMetrics(SM_CYDLGFRAME));
         else if (HAS_THINFRAME( Style, ExStyle ))
             RECTL_vInflateRect(&rcWindow, -UserGetSystemMetrics(SM_CXBORDER), -UserGetSystemMetrics(SM_CYBORDER));
+        else if (HAS_CLIENTFRAME( Style, ExStyle ))
+            RECTL_vInflateRect(&rcWindow, -UserGetSystemMetrics(SM_CXEDGE), -UserGetSystemMetrics(SM_CYEDGE));
         if (!RECTL_bPointInRect( &rcWindow, pt.x, pt.y  )) return HTBORDER;
     }
 
index aa1b6f4..47f5533 100644 (file)
@@ -16,6 +16,9 @@ extern ATOM AtomFlashWndState;
 #define HAS_THINFRAME(Style, ExStyle) \
             (((Style) & WS_BORDER) || (!((Style) & (WS_CHILD | WS_POPUP))))
 
+#define HAS_CLIENTFRAME(Style, ExStyle) \
+            (((ExStyle) & WS_EX_CLIENTEDGE) || (!((Style) & (WS_CHILD | WS_POPUP))))
+
 #define HAS_MENU(pWnd,style)  ((((style) & (WS_CHILD | WS_POPUP)) != WS_CHILD) && (pWnd->IDMenu) && IntIsMenu(UlongToHandle(pWnd->IDMenu)))
 
 #define IntIsDesktopWindow(WndObj) \