Thomas Kho : user: Allow menu WndProc to recognize VK_[LR]MENU.

Alexandre Julliard julliard at wine.codeweavers.com
Mon May 8 09:05:45 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: 76104e1ccc2875dbb14331764913c07e75f3d0b7
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=76104e1ccc2875dbb14331764913c07e75f3d0b7

Author: Thomas Kho <tkho at ucla.edu>
Date:   Wed Apr 26 17:44:28 2006 -0700

user: Allow menu WndProc to recognize VK_[LR]MENU.

---

 dlls/user/defwnd.c     |    7 ++++---
 dlls/user/tests/menu.c |   24 ++++++++++++------------
 2 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/dlls/user/defwnd.c b/dlls/user/defwnd.c
index 5ea3ee4..cba8e76 100644
--- a/dlls/user/defwnd.c
+++ b/dlls/user/defwnd.c
@@ -527,7 +527,8 @@ static LRESULT DEFWND_DefWinProc( HWND h
         if( HIWORD(lParam) & KEYDATA_ALT )
         {
             /* if( HIWORD(lParam) & ~KEYDATA_PREVSTATE ) */
-              if( wParam == VK_MENU && !iMenuSysKey )
+              if ( (wParam == VK_MENU || wParam == VK_LMENU
+                    || wParam == VK_RMENU) && !iMenuSysKey )
                 iMenuSysKey = 1;
               else
                 iMenuSysKey = 0;
@@ -550,8 +551,8 @@ static LRESULT DEFWND_DefWinProc( HWND h
     case WM_KEYUP:
     case WM_SYSKEYUP:
         /* Press and release F10 or ALT */
-        if (((wParam == VK_MENU) && iMenuSysKey) ||
-            ((wParam == VK_F10) && iF10Key))
+        if (((wParam == VK_MENU || wParam == VK_LMENU || wParam == VK_RMENU)
+             && iMenuSysKey) || ((wParam == VK_F10) && iF10Key))
               SendMessageW( GetAncestor( hwnd, GA_ROOT ), WM_SYSCOMMAND, SC_KEYMENU, 0L );
         iMenuSysKey = iF10Key = 0;
         break;
diff --git a/dlls/user/tests/menu.c b/dlls/user/tests/menu.c
index 96195fd..faa5892 100644
--- a/dlls/user/tests/menu.c
+++ b/dlls/user/tests/menu.c
@@ -1506,23 +1506,23 @@ static struct menu_mouse_tests_s {
     BOOL _todo_wine;
 } menu_tests[] = {
     /* for each test, send keys or clicks and check for menu visibility */
-    { INPUT_KEYBOARD, {{0}}, {VK_LMENU, 0}, TRUE, TRUE }, /* test 0 */
+    { INPUT_KEYBOARD, {{0}}, {VK_LMENU, 0}, TRUE, FALSE }, /* test 0 */
     { INPUT_KEYBOARD, {{0}}, {VK_ESCAPE, 0}, FALSE, FALSE },
-    { INPUT_KEYBOARD, {{0}}, {VK_LMENU, 0}, TRUE, TRUE },
-    { INPUT_KEYBOARD, {{0}}, {'D', 0}, FALSE, FALSE },
-    { INPUT_KEYBOARD, {{0}}, {VK_LMENU, 0}, TRUE, TRUE },
+    { INPUT_KEYBOARD, {{0}}, {VK_LMENU, 0}, TRUE, FALSE },
+    { INPUT_KEYBOARD, {{0}}, {'D', 0}, FALSE, TRUE },
+    { INPUT_KEYBOARD, {{0}}, {VK_LMENU, 0}, TRUE, FALSE },
     { INPUT_KEYBOARD, {{0}}, {'E', 0}, FALSE, FALSE },
-    { INPUT_KEYBOARD, {{0}}, {VK_LMENU, 'M', 0}, TRUE, TRUE },
+    { INPUT_KEYBOARD, {{0}}, {VK_LMENU, 'M', 0}, TRUE, FALSE },
     { INPUT_KEYBOARD, {{0}}, {VK_ESCAPE, VK_ESCAPE, 0}, FALSE, FALSE },
-    { INPUT_KEYBOARD, {{0}}, {VK_LMENU, 'M', VK_ESCAPE, 0}, TRUE, TRUE },
+    { INPUT_KEYBOARD, {{0}}, {VK_LMENU, 'M', VK_ESCAPE, 0}, TRUE, FALSE },
     { INPUT_KEYBOARD, {{0}}, {VK_ESCAPE, 0}, FALSE, FALSE },
-    { INPUT_KEYBOARD, {{0}}, {VK_LMENU, 'M', 0}, TRUE, TRUE },
-    { INPUT_KEYBOARD, {{0}}, {'D', 0}, FALSE, FALSE },
-    { INPUT_KEYBOARD, {{0}}, {VK_LMENU, 'M', 0}, TRUE, TRUE },
+    { INPUT_KEYBOARD, {{0}}, {VK_LMENU, 'M', 0}, TRUE, FALSE },
+    { INPUT_KEYBOARD, {{0}}, {'D', 0}, FALSE, TRUE },
+    { INPUT_KEYBOARD, {{0}}, {VK_LMENU, 'M', 0}, TRUE, FALSE },
     { INPUT_KEYBOARD, {{0}}, {'E', 0}, FALSE, FALSE },
-    { INPUT_KEYBOARD, {{0}}, {VK_LMENU, 'M', 'P', 0}, TRUE, TRUE },
-    { INPUT_KEYBOARD, {{0}}, {'D', 0}, FALSE, FALSE },
-    { INPUT_KEYBOARD, {{0}}, {VK_LMENU, 'M', 'P', 0}, TRUE, TRUE },
+    { INPUT_KEYBOARD, {{0}}, {VK_LMENU, 'M', 'P', 0}, TRUE, FALSE },
+    { INPUT_KEYBOARD, {{0}}, {'D', 0}, FALSE, TRUE },
+    { INPUT_KEYBOARD, {{0}}, {VK_LMENU, 'M', 'P', 0}, TRUE, FALSE },
     { INPUT_KEYBOARD, {{0}}, {'E', 0}, FALSE, FALSE },
 
     { INPUT_MOUSE, {{1, 2}, {0}}, {0}, TRUE, TRUE }, /* test 18 */




More information about the wine-cvs mailing list