From: Thomas Faber Date: Fri, 28 Dec 2018 10:27:28 +0000 (+0100) Subject: [WIN32K:NTUSER] Acquire the user lock exclusively in NtUserGetSystemMenu. CORE-15512 X-Git-Tag: 0.4.13-dev~878 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=c526f94b8c4709919f59bb47a01e4ebb9f9627b6 [WIN32K:NTUSER] Acquire the user lock exclusively in NtUserGetSystemMenu. CORE-15512 --- diff --git a/win32ss/user/ntuser/menu.c b/win32ss/user/ntuser/menu.c index f2357fe538f..6c825f3f107 100644 --- a/win32ss/user/ntuser/menu.c +++ b/win32ss/user/ntuser/menu.c @@ -274,6 +274,7 @@ BOOL IntDestroyMenu( PMENU pMenu, BOOL bRecurse) { PMENU SubMenu; + ASSERT(UserIsEnteredExclusive()); if (pMenu->rgItems) /* recursively destroy submenus */ { int i; @@ -319,6 +320,7 @@ UserDestroyMenuObject(PVOID Object) BOOL FASTCALL IntDestroyMenuObject(PMENU Menu, BOOL bRecurse) { + ASSERT(UserIsEnteredExclusive()); if (Menu) { PWND Window; @@ -5485,7 +5487,7 @@ NtUserGetSystemMenu(HWND hWnd, BOOL bRevert) DECLARE_RETURN(HMENU); TRACE("Enter NtUserGetSystemMenu\n"); - UserEnterShared(); + UserEnterExclusive(); if (!(Window = UserGetWindowObject(hWnd))) {