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