[Win32SS]
authorJames Tabor <james.tabor@reactos.org>
Mon, 15 Aug 2016 01:14:47 +0000 (01:14 +0000)
committerJames Tabor <james.tabor@reactos.org>
Mon, 15 Aug 2016 01:14:47 +0000 (01:14 +0000)
- Fix regression from 62529, striped all the MF_POPUP from the code, no way to know if the submenu is a drop menu. See CORE-9269.

svn path=/trunk/; revision=72227

reactos/win32ss/user/ntuser/menu.c
reactos/win32ss/user/user32/windows/menu.c

index 6113bfe..f29e2d0 100644 (file)
@@ -4738,7 +4738,7 @@ UINT FASTCALL IntGetMenuState( HMENU hMenu, UINT uId, UINT uFlags)
 
    if (pItem->spSubMenu)
    {
-      return (pItem->spSubMenu->cItems << 8) | ((pItem->fState|pItem->fType) & 0xff);
+      return (pItem->spSubMenu->cItems << 8) | ((pItem->fState|pItem->fType|MF_POPUP) & 0xff);
    }
    else
       return (pItem->fType | pItem->fState);
index 11538e3..d95c300 100644 (file)
@@ -1062,6 +1062,7 @@ GetMenuState(
   {
      PMENU pSubMenu = DesktopPtrToUser(pItem->spSubMenu);
      HMENU hsubmenu = UserHMGetHandle(pSubMenu);
+     Type |= MF_POPUP; // Fix CORE-9269
      if (!IsMenu(hsubmenu)) return (UINT)-1;
      else return (pSubMenu->cItems << 8) | ((pItem->fState|pItem->fType|Type) & 0xff);
   }