user: Allow menu WndProc to recognize VK_[LR]MENU
tkho at ucla.edu
tkho at ucla.edu
Wed Apr 26 19:44:28 CDT 2006
Hello,
This patch #1 of 3 applies on top of the menu conformance test sent earlier in
the day. This patch enables the menu WndProc to recognize VK_LMENU and VK_RMENU
messages.
Thanks,
Thomas Kho
2006-04-26 Thomas Kho <tkho at ucla.edu>
* dlls/user/tests/menu.c:
user: Allow menu WndProc to recognize VK_[LR]MENU
defwnd.c | 7 ++++---
tests/menu.c | 24 ++++++++++++------------
2 files changed, 16 insertions(+), 15 deletions(-)
Signed-off-by: Thomas Kho <tkho at ucla.edu>
diff -aur ../1/dlls/user/defwnd.c ./dlls/user/defwnd.c
--- ../1/dlls/user/defwnd.c 2006-04-26 17:16:15.000000000 -0700
+++ ./dlls/user/defwnd.c 2006-04-26 17:16:34.000000000 -0700
@@ -527,7 +527,8 @@
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 @@
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 -aur ../1/dlls/user/tests/menu.c ./dlls/user/tests/menu.c
--- ../1/dlls/user/tests/menu.c 2006-04-26 17:16:22.000000000 -0700
+++ ./dlls/user/tests/menu.c 2006-04-26 17:16:36.000000000 -0700
@@ -1506,23 +1506,23 @@
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-patches
mailing list