[PATCH v2 3/5] win32u: Move more default window commands from user32.

Jacek Caban wine at gitlab.winehq.org
Thu May 12 10:55:57 CDT 2022


From: Jacek Caban <jacek at codeweavers.com>

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
---
 dlls/user32/defwnd.c | 43 -------------------------------------------
 dlls/win32u/defwnd.c | 43 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 43 insertions(+), 43 deletions(-)

diff --git a/dlls/user32/defwnd.c b/dlls/user32/defwnd.c
index fdb100c9556..af2b32614bc 100644
--- a/dlls/user32/defwnd.c
+++ b/dlls/user32/defwnd.c
@@ -266,46 +266,6 @@ static LRESULT DEFWND_DefWinProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPa
         DEFWND_Print(hwnd, (HDC)wParam, lParam);
         return 0;
 
-    case WM_SYNCPAINT:
-        NtUserRedrawWindow ( hwnd, NULL, 0, RDW_ERASENOW | RDW_ERASE | RDW_ALLCHILDREN );
-        return 0;
-
-    case WM_SETREDRAW:
-        if (wParam) WIN_SetStyle( hwnd, WS_VISIBLE, 0 );
-        else
-        {
-            NtUserRedrawWindow( hwnd, NULL, 0, RDW_ALLCHILDREN | RDW_VALIDATE );
-            WIN_SetStyle( hwnd, 0, WS_VISIBLE );
-        }
-        return 0;
-
-    case WM_CLOSE:
-        NtUserDestroyWindow( hwnd );
-        return 0;
-
-    case WM_MOUSEACTIVATE:
-        if (GetWindowLongW( hwnd, GWL_STYLE ) & WS_CHILD)
-        {
-            LONG ret = SendMessageW( GetParent(hwnd), WM_MOUSEACTIVATE, wParam, lParam );
-            if (ret) return ret;
-        }
-
-        /* Caption clicks are handled by NC_HandleNCLButtonDown() */
-        return ( HIWORD(lParam) == WM_LBUTTONDOWN && LOWORD(lParam) == HTCAPTION ? MA_NOACTIVATE : MA_ACTIVATE );
-
-    case WM_ACTIVATE:
-        /* The default action in Windows is to set the keyboard focus to
-         * the window, if it's being activated and not minimized */
-        if (LOWORD(wParam) != WA_INACTIVE) {
-            if (!IsIconic(hwnd)) NtUserSetFocus( hwnd );
-        }
-        break;
-
-    case WM_MOUSEWHEEL:
-        if (GetWindowLongW( hwnd, GWL_STYLE ) & WS_CHILD)
-            return SendMessageW( GetParent(hwnd), WM_MOUSEWHEEL, wParam, lParam );
-        break;
-
     case WM_ERASEBKGND:
     case WM_ICONERASEBKGND:
         {
@@ -325,9 +285,6 @@ static LRESULT DEFWND_DefWinProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPa
             return 1;
         }
 
-    case WM_GETDLGCODE:
-        return 0;
-
     case WM_CTLCOLORMSGBOX:
     case WM_CTLCOLOREDIT:
     case WM_CTLCOLORLISTBOX:
diff --git a/dlls/win32u/defwnd.c b/dlls/win32u/defwnd.c
index c345a6ab188..72d9aa40164 100644
--- a/dlls/win32u/defwnd.c
+++ b/dlls/win32u/defwnd.c
@@ -270,6 +270,49 @@ LRESULT default_window_proc( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam,
             break;
         }
 
+    case WM_SYNCPAINT:
+        NtUserRedrawWindow ( hwnd, NULL, 0, RDW_ERASENOW | RDW_ERASE | RDW_ALLCHILDREN );
+        return 0;
+
+    case WM_SETREDRAW:
+        if (wparam) set_window_style( hwnd, WS_VISIBLE, 0 );
+        else
+        {
+            NtUserRedrawWindow( hwnd, NULL, 0, RDW_ALLCHILDREN | RDW_VALIDATE );
+            set_window_style( hwnd, 0, WS_VISIBLE );
+        }
+        return 0;
+
+    case WM_CLOSE:
+        NtUserDestroyWindow( hwnd );
+        return 0;
+
+    case WM_MOUSEACTIVATE:
+        if (get_window_long( hwnd, GWL_STYLE ) & WS_CHILD)
+        {
+            result = send_message( get_parent(hwnd), WM_MOUSEACTIVATE, wparam, lparam );
+            if (result) break;
+        }
+
+        /* Caption clicks are handled by NC_HandleNCLButtonDown() */
+        result = HIWORD(lparam) == WM_LBUTTONDOWN && LOWORD(lparam) == HTCAPTION ?
+            MA_NOACTIVATE : MA_ACTIVATE;
+        break;
+
+    case WM_ACTIVATE:
+        /* The default action in Windows is to set the keyboard focus to
+         * the window, if it's being activated and not minimized */
+        if (LOWORD(wparam) != WA_INACTIVE && !is_iconic( hwnd )) NtUserSetFocus( hwnd );
+        break;
+
+    case WM_MOUSEWHEEL:
+        if (get_window_long( hwnd, GWL_STYLE ) & WS_CHILD)
+            result = send_message( get_parent( hwnd ), WM_MOUSEWHEEL, wparam, lparam );
+        break;
+
+    case WM_GETDLGCODE:
+        break;
+
     case WM_SETTEXT:
         result = set_window_text( hwnd, (void *)lparam, ansi );
         break;
-- 
GitLab


https://gitlab.winehq.org/wine/wine/-/merge_requests/64



More information about the wine-devel mailing list