[PATCH resend] winex11: Send SC_KEYMENU on managed windows.

Alex Henrie alexhenrie24 at gmail.com
Tue Oct 11 02:01:10 CDT 2016


Fixes https://bugs.winehq.org/show_bug.cgi?id=21918

Wine Staging has included this patch since 1.9.12 with no reported
problems.

Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
---
 dlls/user32/tests/msg.c   |  5 ++---
 dlls/winex11.drv/window.c | 11 -----------
 2 files changed, 2 insertions(+), 14 deletions(-)

diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
index b132dfe..f50a273 100644
--- a/dlls/user32/tests/msg.c
+++ b/dlls/user32/tests/msg.c
@@ -8001,8 +8001,7 @@ static void test_accelerators(void)
     keybd_event(VK_MENU, 0, 0, 0);
     keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0);
     pump_msg_loop(hwnd, 0);
-    /* this test doesn't pass in Wine for managed windows */
-    ok_sequence(WmAltPressRelease, "Alt press/release", TRUE);
+    ok_sequence(WmAltPressRelease, "Alt press/release", FALSE);
 
     trace("testing VK_F1 press/release\n");
     keybd_event(VK_F1, 0, 0, 0);
@@ -8022,7 +8021,7 @@ static void test_accelerators(void)
     keybd_event(VK_F10, 0, 0, 0);
     keybd_event(VK_F10, 0, KEYEVENTF_KEYUP, 0);
     pump_msg_loop(hwnd, 0);
-    ok_sequence(WmVkF10Seq, "VK_F10 press/release", TRUE);
+    ok_sequence(WmVkF10Seq, "VK_F10 press/release", FALSE);
 
     trace("testing SHIFT+F10 press/release\n");
     keybd_event(VK_SHIFT, 0, 0, 0);
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
index 0de7955..938e57f 100644
--- a/dlls/winex11.drv/window.c
+++ b/dlls/winex11.drv/window.c
@@ -2757,17 +2757,6 @@ LRESULT CDECL X11DRV_SysCommand( HWND hwnd, WPARAM wparam, LPARAM lparam )
         default:               dir = _NET_WM_MOVERESIZE_SIZE_KEYBOARD; break;
         }
         break;
-
-    case SC_KEYMENU:
-        /* prevent a simple ALT press+release from activating the system menu,
-         * as that can get confusing on managed windows */
-        if ((WCHAR)lparam) goto failed;  /* got an explicit char */
-        if (GetMenu( hwnd )) goto failed;  /* window has a real menu */
-        if (!(GetWindowLongW( hwnd, GWL_STYLE ) & WS_SYSMENU)) goto failed;  /* no system menu */
-        TRACE( "ignoring SC_KEYMENU wp %lx lp %lx\n", wparam, lparam );
-        release_win_data( data );
-        return 0;
-
     default:
         goto failed;
     }
-- 
2.10.0




More information about the wine-patches mailing list