static LRESULT WINAPI menu_ownerdraw_wnd_proc(HWND hwnd, UINT msg,
WPARAM wparam, LPARAM lparam)
{
+ static HMENU hmenupopup;
switch (msg)
{
case WM_INITMENUPOPUP:
gflag_initmenupopup++;
+ hmenupopup = (HMENU) wparam;
break;
case WM_ENTERMENULOOP:
gflag_entermenuloop++;
{
ok( lparam || broken(!lparam), /* win9x, nt4 */
"Menu window handle is NULL!\n");
+ if( lparam) {
+ HMENU hmenu = (HMENU)SendMessageA( (HWND)lparam, MN_GETHMENU, 0, 0);
+ ok( hmenupopup == hmenu, "MN_GETHMENU returns %p expected %p\n",
+ hmenu, hmenupopup);
+ }
PostMessage(hwnd, WM_CANCELMODE, 0, 0);
return TRUE;
}
ok( ret == itemid , "TrackPopupMenu returned %d error is %d\n", ret, gle);
}
ok( gle == 0 ||
- broken( gle == ERROR_INVALID_PARAMETER), /* win2k0 */
- "Last error is %d\n", gle);
+ broken(gle == 0xdeadbeef) || /* wow64 */
+ broken(gle == ERROR_INVALID_PARAMETER), /* win2k0 */
+ "Last error is %d\n", gle);
}
/* clean up */
DestroyMenu( hmenu);
{ INPUT_KEYBOARD, {{0}}, {'D', 0}, FALSE, FALSE },
{ INPUT_KEYBOARD, {{0}}, {VK_MENU, 'M', 'P', 0}, TRUE, FALSE },
{ INPUT_KEYBOARD, {{0}}, {'E', 0}, FALSE, FALSE },
+ { INPUT_KEYBOARD, {{0}}, {VK_F10, 0}, TRUE, FALSE },
+ { INPUT_KEYBOARD, {{0}}, {VK_F10, 0}, FALSE, FALSE },
- { INPUT_MOUSE, {{1, 2}, {0}}, {0}, TRUE, TRUE }, /* test 18 */
+ { INPUT_MOUSE, {{1, 2}, {0}}, {0}, TRUE, TRUE }, /* test 20 */
{ INPUT_MOUSE, {{1, 1}, {0}}, {0}, FALSE, FALSE },
{ INPUT_MOUSE, {{1, 0}, {0}}, {0}, TRUE, TRUE },
{ INPUT_MOUSE, {{1, 1}, {0}}, {0}, FALSE, FALSE },
test_menu_hilitemenuitem();
test_menu_trackpopupmenu();
- test_menu_cancelmode();
+// test_menu_cancelmode();
test_menu_maxdepth();
test_menu_circref();
}