Alexandre Julliard : user32: Fetch the window menu again after sending initialization messages.

Alexandre Julliard julliard at winehq.org
Thu Jun 27 13:39:10 CDT 2013


Module: wine
Branch: master
Commit: cd4d71e4a27e4b9b7d3717f7d2d764aaed5bff4c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=cd4d71e4a27e4b9b7d3717f7d2d764aaed5bff4c

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu Jun 27 17:48:30 2013 +0200

user32: Fetch the window menu again after sending initialization messages.

---

 dlls/user32/menu.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/dlls/user32/menu.c b/dlls/user32/menu.c
index ae5cb36..f39ae7c 100644
--- a/dlls/user32/menu.c
+++ b/dlls/user32/menu.c
@@ -3356,6 +3356,9 @@ void MENU_TrackMouseMenuBar( HWND hWnd, INT ht, POINT pt )
     if (IsMenu(hMenu))
     {
 	MENU_InitTracking( hWnd, hMenu, FALSE, wFlags );
+
+        /* fetch the window menu again, it may have changed */
+        hMenu = (ht == HTSYSMENU) ? get_win_sys_menu( hWnd ) : GetMenu( hWnd );
 	MENU_TrackMenu( hMenu, wFlags, pt.x, pt.y, hWnd, NULL );
 	MENU_ExitTracking(hWnd, FALSE);
     }
@@ -3396,6 +3399,9 @@ void MENU_TrackKbdMenuBar( HWND hwnd, UINT wParam, WCHAR wChar)
 
     MENU_InitTracking( hwnd, hTrackMenu, FALSE, wFlags );
 
+    /* fetch the window menu again, it may have changed */
+    hTrackMenu = (wParam & HTSYSMENU) ? get_win_sys_menu( hwnd ) : GetMenu( hwnd );
+
     if( wChar && wChar != ' ' )
     {
         uItem = MENU_FindItemByKey( hwnd, hTrackMenu, wChar, (wParam & HTSYSMENU) );




More information about the wine-cvs mailing list