[WIN32SS] Ensure the last menu item is not accidentally selected when a system menu... 1812/head
authorMark Jansen <mark.jansen@reactos.org>
Wed, 7 Aug 2019 21:53:42 +0000 (23:53 +0200)
committerMark Jansen <mark.jansen@reactos.org>
Thu, 8 Aug 2019 17:51:28 +0000 (19:51 +0200)
CORE-16297

win32ss/user/ntuser/menu.c

index 724501c..a826ddb 100644 (file)
@@ -3405,6 +3405,8 @@ static PMENU FASTCALL MENU_ShowSubPopup(PWND WndOwner, PMENU Menu, BOOL SelectFi
       MENU_InitSysMenuPopup(Item->spSubMenu, pWnd->style, pWnd->pcls->style, HTSYSMENU);
 
       NC_GetSysPopupPos(pWnd, &Rect);
+      /* Ensure we do not overlap this */
+      ParentRect = Rect;
       if (Flags & TPM_LAYOUTRTL) Rect.left = Rect.right;
       Rect.top = Rect.bottom;
       Rect.right = UserGetSystemMetrics(SM_CXSIZE);