[PATCH 5/6] win32u: Move more WM_SYSCOMMAND implementation from user32.
Jacek Caban
wine at gitlab.winehq.org
Thu Jun 16 18:56:45 CDT 2022
From: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
---
dlls/user32/nonclient.c | 12 ------------
dlls/win32u/defwnd.c | 19 +++++++++++++++++++
2 files changed, 19 insertions(+), 12 deletions(-)
diff --git a/dlls/user32/nonclient.c b/dlls/user32/nonclient.c
index 7a742e1a429..d972930b10b 100644
--- a/dlls/user32/nonclient.c
+++ b/dlls/user32/nonclient.c
@@ -265,16 +265,11 @@ static void NC_TrackScrollBar( HWND hwnd, WPARAM wParam, POINT pt )
*/
LRESULT NC_HandleSysCommand( HWND hwnd, WPARAM wParam, LPARAM lParam )
{
- TRACE("hwnd %p WM_SYSCOMMAND %Ix %Ix\n", hwnd, wParam, lParam );
-
if (!NtUserMessageCall( hwnd, WM_SYSCOMMAND, wParam, lParam, 0, NtUserDefWindowProc, FALSE ))
return 0;
switch (wParam & 0xfff0)
{
- case SC_CLOSE:
- return SendMessageW( hwnd, WM_CLOSE, 0, 0 );
-
case SC_VSCROLL:
case SC_HSCROLL:
{
@@ -288,13 +283,6 @@ LRESULT NC_HandleSysCommand( HWND hwnd, WPARAM wParam, LPARAM lParam )
case SC_TASKLIST:
WinExec( "taskman.exe", SW_SHOWNORMAL );
break;
-
- case SC_HOTKEY:
- case SC_ARRANGE:
- case SC_NEXTWINDOW:
- case SC_PREVWINDOW:
- FIXME("unimplemented WM_SYSCOMMAND %04Ix!\n", wParam);
- break;
}
return 0;
}
diff --git a/dlls/win32u/defwnd.c b/dlls/win32u/defwnd.c
index 105bb9744ec..9cb46c1c78b 100644
--- a/dlls/win32u/defwnd.c
+++ b/dlls/win32u/defwnd.c
@@ -892,6 +892,8 @@ static void sys_command_size_move( HWND hwnd, WPARAM wparam )
static LRESULT handle_sys_command( HWND hwnd, WPARAM wparam, LPARAM lparam )
{
+ TRACE( "hwnd %p WM_SYSCOMMAND %lx %lx\n", hwnd, wparam, lparam );
+
if (!is_window_enabled( hwnd )) return 0;
if (call_hooks( WH_CBT, HCBT_SYSCOMMAND, wparam, lparam, TRUE ))
@@ -917,6 +919,13 @@ static LRESULT handle_sys_command( HWND hwnd, WPARAM wparam, LPARAM lparam )
NtUserShowWindow( hwnd, SW_MAXIMIZE );
break;
+ case SC_CLOSE:
+ return send_message( hwnd, WM_CLOSE, 0, 0 );
+
+ case SC_VSCROLL:
+ case SC_HSCROLL:
+ return 1; /* FIXME: handle on client side */
+
case SC_MOUSEMENU:
track_mouse_menu_bar( hwnd, wparam & 0x000F, (short)LOWORD(lparam), (short)HIWORD(lparam) );
break;
@@ -930,6 +939,16 @@ static LRESULT handle_sys_command( HWND hwnd, WPARAM wparam, LPARAM lparam )
NtUserShowWindow( hwnd, SW_RESTORE );
break;
+ case SC_TASKLIST:
+ return 1; /* FIXME: handle on client side */
+
+ case SC_HOTKEY:
+ case SC_ARRANGE:
+ case SC_NEXTWINDOW:
+ case SC_PREVWINDOW:
+ FIXME( "unimplemented WM_SYSCOMMAND %04lx\n", wparam );
+ break;
+
default:
return 1; /* handle on client side */
}
--
GitLab
https://gitlab.winehq.org/wine/wine/-/merge_requests/261
More information about the wine-devel
mailing list