- [User32 Wine Test] Disable cancel mode test.
[reactos.git] / rostests / winetests / user32 / menu.c
index a388103..8c49c2d 100755 (executable)
@@ -150,10 +150,12 @@ static int  gflag_initmenupopup,
 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++;
@@ -229,6 +231,11 @@ static LRESULT WINAPI menu_ownerdraw_wnd_proc(HWND hwnd, UINT msg,
             {
                 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;
             }
@@ -383,8 +390,9 @@ static void test_subpopup_locked_by_menu(void)
             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);
@@ -1882,8 +1890,10 @@ static struct menu_mouse_tests_s {
     { 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 },
@@ -3208,7 +3218,7 @@ START_TEST(menu)
 
     test_menu_hilitemenuitem();
     test_menu_trackpopupmenu();
-    test_menu_cancelmode();
+//    test_menu_cancelmode();
     test_menu_maxdepth();
     test_menu_circref();
 }