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