[0.4.9][WIN32K:NTUSER] Fix WIN32K BSOD mentioned in CORE-15027

Fixes accessing nullptr / invalid handle in Window->SystemMenu
I could trigger this occasionally when moving Opera 12.18 window
in front of Spotify 1.0.29.92 window.

Fix was:
authored by Thomas Faber (Thank you!)
tested by me
reviewed by James Tabor

fix picked from 0.4.11-dev-195-g ef016bfe0a
This commit is contained in:
Joachim Henze 2020-12-03 01:01:33 +01:00
parent ee7bb6ebf5
commit d15f8a6646

View file

@ -5185,7 +5185,7 @@ IntGetSystemMenu(PWND Window, BOOL bRevert)
else
{
Menu = Window->SystemMenu ? UserGetMenuObject(Window->SystemMenu) : NULL;
if ((!Window->SystemMenu || Menu->fFlags & MNF_SYSDESKMN) && Window->style & WS_SYSMENU)
if ((!Menu || Menu->fFlags & MNF_SYSDESKMN) && Window->style & WS_SYSMENU)
{
Menu = MENU_GetSystemMenu(Window, NULL);
Window->SystemMenu = Menu ? UserHMGetHandle(Menu) : NULL;