Add support for HCBT_SYSCOMMAND hook

Dmitry Timoshkov dmitry at baikal.ru
Sat Sep 11 04:40:11 CDT 2004


Hello,

please apply this patch after new MDI tests.

Changelog:
    Dmitry Timoshkov <dmitry at codeweavers.com>
    Add support for HCBT_SYSCOMMAND hook, add logging for HCBT_SYSCOMMAND
    in the message test.

diff -u cvs/hq/wine/dlls/user/tests/msg.c wine/dlls/user/tests/msg.c
--- cvs/hq/wine/dlls/user/tests/msg.c	2004-09-11 18:09:36.000000000 +0900
+++ wine/dlls/user/tests/msg.c	2004-09-11 18:15:19.000000000 +0900
@@ -2716,6 +2716,19 @@ static LRESULT CALLBACK cbt_hook_proc(in
 
     trace("CBT: %d, %08x, %08lx\n", nCode, wParam, lParam);
 
+    if (nCode == HCBT_SYSCOMMAND)
+    {
+	struct message msg;
+
+	msg.message = nCode;
+	msg.flags = hook;
+	msg.wParam = wParam;
+	msg.lParam = lParam;
+	add_message(&msg);
+
+	return CallNextHookEx(hCBT_hook, nCode, wParam, lParam);
+    }
+
     /* Log also SetFocus(0) calls */
     if (!wParam) wParam = lParam;
 
diff -u cvs/hq/wine/windows/nonclient.c wine/windows/nonclient.c
--- cvs/hq/wine/windows/nonclient.c	2004-09-02 17:23:57.000000000 +0900
+++ wine/windows/nonclient.c	2004-09-11 18:19:47.000000000 +0900
@@ -1467,6 +1467,9 @@ LONG NC_HandleSysCommand( HWND hwnd, WPA
 {
     TRACE("Handling WM_SYSCOMMAND %x %lx\n", wParam, lParam );
 
+    if (HOOK_CallHooks( WH_CBT, HCBT_SYSCOMMAND, wParam, lParam, TRUE ))
+        return 0;
+
     switch (wParam & 0xfff0)
     {
     case SC_SIZE:






More information about the wine-patches mailing list