Make Alt press/release test actually pass for not managed windows.
authorDmitry Timoshkov <dmitry@codeweavers.com>
Tue, 11 Jan 2005 15:47:13 +0000 (15:47 +0000)
committerAlexandre Julliard <julliard@winehq.org>
Tue, 11 Jan 2005 15:47:13 +0000 (15:47 +0000)
dlls/user/menu.c

index 8ec1e53b217c7ffefd12fe4936292800d2cbb908..d628b9ed5f4c174291b93fa8505c7c46707ca649 100644 (file)
@@ -2943,24 +2943,22 @@ void MENU_TrackKbdMenuBar( HWND hwnd, UINT wParam, WCHAR wChar)
             goto track_menu;
         }
     }
-    else
-    {
-        /* prevent sysmenu activation for managed windows on Alt down/up */
-        if ((wParam & HTSYSMENU) && (GetWindowLongW(hwnd, GWL_EXSTYLE) & WS_EX_MANAGED))
-        {
-            MENU_SelectItem( hwnd, hTrackMenu, 0, TRUE, 0 );
-            /* schedule end of menu tracking */
-            wFlags |= TF_ENDMENU;
-            goto track_menu;
-        }
-    }
 
     MENU_SelectItem( hwnd, hTrackMenu, uItem, TRUE, 0 );
 
-    if( uItem == NO_SELECTED_ITEM )
-        MENU_MoveSelection( hwnd, hTrackMenu, ITEM_NEXT );
+    if (wParam & HTSYSMENU)
+    {
+        /* prevent sysmenu activation for managed windows on Alt down/up */
+        if (GetWindowLongW(hwnd, GWL_EXSTYLE) & WS_EX_MANAGED)
+            wFlags |= TF_ENDMENU; /* schedule end of menu tracking */
+    }
     else
-        PostMessageW( hwnd, WM_KEYDOWN, VK_DOWN, 0L );
+    {
+        if( uItem == NO_SELECTED_ITEM )
+            MENU_MoveSelection( hwnd, hTrackMenu, ITEM_NEXT );
+        else
+            PostMessageW( hwnd, WM_KEYDOWN, VK_DOWN, 0L );
+    }
 
 track_menu:
     MENU_TrackMenu( hTrackMenu, wFlags, 0, 0, hwnd, NULL );