Module: wine Branch: master Commit: aee9fa0e55f9282c7fd6961ac0b32e1f2d33c76c URL: https://source.winehq.org/git/wine.git/?a=commit;h=aee9fa0e55f9282c7fd6961ac...
Author: Fabian Maurer dark.shadow4@web.de Date: Fri Jun 22 20:32:17 2018 +0200
user32: Always release menu item in EnableMenuItem.
Signed-off-by: Fabian Maurer dark.shadow4@web.de Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/user32/menu.c | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-)
diff --git a/dlls/user32/menu.c b/dlls/user32/menu.c index 8c541cc..ab1ae9b 100644 --- a/dlls/user32/menu.c +++ b/dlls/user32/menu.c @@ -3741,28 +3741,25 @@ BOOL WINAPI EnableMenuItem( HMENU hMenu, UINT id, UINT wFlags ) item->fState ^= (oldflags ^ wFlags) & (MF_GRAYED | MF_DISABLED);
/* If the close item in the system menu change update the close button */ - if ((item->wID == SC_CLOSE) && (oldflags != wFlags)) + if ((item->wID == SC_CLOSE) && (oldflags != wFlags) && menu->hSysMenuOwner) { - if (menu->hSysMenuOwner) - { - RECT rc; - POPUPMENU* parentMenu; - HWND hwnd; + RECT rc; + POPUPMENU* parentMenu; + HWND hwnd;
- /* Get the parent menu to access*/ - parentMenu = grab_menu_ptr(menu->hSysMenuOwner); - release_menu_ptr(menu); - if (!parentMenu) - return (UINT)-1; + /* Get the parent menu to access */ + parentMenu = grab_menu_ptr(menu->hSysMenuOwner); + release_menu_ptr(menu); + if (!parentMenu) + return (UINT)-1;
- hwnd = parentMenu->hWnd; - release_menu_ptr(parentMenu); + hwnd = parentMenu->hWnd; + release_menu_ptr(parentMenu);
- /* Refresh the frame to reflect the change */ - WIN_GetRectangles( hwnd, COORDS_CLIENT, &rc, NULL ); - rc.bottom = 0; - RedrawWindow(hwnd, &rc, 0, RDW_FRAME | RDW_INVALIDATE | RDW_NOCHILDREN); - } + /* Refresh the frame to reflect the change */ + WIN_GetRectangles(hwnd, COORDS_CLIENT, &rc, NULL); + rc.bottom = 0; + RedrawWindow(hwnd, &rc, 0, RDW_FRAME | RDW_INVALIDATE | RDW_NOCHILDREN); } else release_menu_ptr(menu);