From 11e4273379b54b6e3368582f77feb2930443bb11 Mon Sep 17 00:00:00 2001 From: David Quintana Date: Wed, 5 Mar 2014 09:12:40 +0000 Subject: [PATCH] [SHLWAPI] * SHInvokeDefaultCommand is supposed to invoke the DEFAULT command, so why was bInvokeDefault given FALSE?! [RSHELL] * A couple of trivial fixes. [NTUSER/USER32] * I missed two bits. See CORE-7966 for more info on the menu issue. CORE-7586 svn path=/branches/shell-experiments/; revision=62420 --- base/shell/rshell/CMenuDeskBar.cpp | 2 +- base/shell/rshell/CMenuToolbars.cpp | 2 +- dll/win32/shlwapi/ordinal.c | 4 ++-- win32ss/user/ntuser/window.c | 2 +- win32ss/user/user32/windows/menu.c | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/base/shell/rshell/CMenuDeskBar.cpp b/base/shell/rshell/CMenuDeskBar.cpp index d9007d1ada5..5feed659677 100644 --- a/base/shell/rshell/CMenuDeskBar.cpp +++ b/base/shell/rshell/CMenuDeskBar.cpp @@ -517,7 +517,7 @@ BOOL CMenuDeskBar::_IsSubMenuParent(HWND hwnd) popup = NULL; hr = IUnknown_GetSite(window, IID_PPV_ARG(IMenuPopup, &popup)); - if (FAILED_UNEXPECTEDLY(hr)) + if (FAILED(hr)) return FALSE; } diff --git a/base/shell/rshell/CMenuToolbars.cpp b/base/shell/rshell/CMenuToolbars.cpp index e66d93e0fda..4d79750831b 100644 --- a/base/shell/rshell/CMenuToolbars.cpp +++ b/base/shell/rshell/CMenuToolbars.cpp @@ -816,7 +816,7 @@ HRESULT CMenuStaticToolbar::FillToolbar() { AddSeparator(last); } - else // if (info.fType == MFT_STRING) + else if (!(info.fType & MFT_BITMAP)) { info.cch++; diff --git a/dll/win32/shlwapi/ordinal.c b/dll/win32/shlwapi/ordinal.c index 233d3ec46fe..d3918000b25 100644 --- a/dll/win32/shlwapi/ordinal.c +++ b/dll/win32/shlwapi/ordinal.c @@ -1,4 +1,4 @@ -/* +/* * SHLWAPI ordinal functions * * Copyright 1997 Marcus Meissner @@ -2911,7 +2911,7 @@ HWND WINAPI SHCreateWorkerWindowW(LONG wndProc, HWND hWndParent, DWORD dwExStyle HRESULT WINAPI SHInvokeDefaultCommand(HWND hWnd, IShellFolder* lpFolder, LPCITEMIDLIST lpApidl) { TRACE("%p %p %p\n", hWnd, lpFolder, lpApidl); - return SHInvokeCommand(hWnd, lpFolder, lpApidl, FALSE); + return SHInvokeCommand(hWnd, lpFolder, lpApidl, TRUE); } /************************************************************************* diff --git a/win32ss/user/ntuser/window.c b/win32ss/user/ntuser/window.c index 91feae4df56..d2e06c86bf5 100644 --- a/win32ss/user/ntuser/window.c +++ b/win32ss/user/ntuser/window.c @@ -976,7 +976,7 @@ IntGetSystemMenu(PWND Window, BOOL bRevert, BOOL RetMenu) ItemInfo.cbSize = sizeof(MENUITEMINFOW); ItemInfo.fMask = MIIM_FTYPE | MIIM_STRING | MIIM_STATE | MIIM_SUBMENU; - ItemInfo.fType = MF_POPUP; + ItemInfo.fType = 0; ItemInfo.fState = MFS_ENABLED; ItemInfo.dwTypeData = NULL; ItemInfo.cch = 0; diff --git a/win32ss/user/user32/windows/menu.c b/win32ss/user/user32/windows/menu.c index db94c16e51a..f99b8256393 100644 --- a/win32ss/user/user32/windows/menu.c +++ b/win32ss/user/user32/windows/menu.c @@ -1696,7 +1696,7 @@ static void FASTCALL MenuSelectItem(HWND hwndOwner, PROSMENUINFO hmenu, UINT wIn SendMessageW(hwndOwner, WM_MENUSELECT, MAKELONG(ItemInfo.hSubMenu ? wIndex : ItemInfo.wID, ItemInfo.fType | ItemInfo.fState | MF_MOUSESELECT | - (hmenu->Flags & MF_SYSMENU)), (LPARAM) hmenu->Self); + (hmenu->Flags & (MF_SYSMENU|MF_POPUP))), (LPARAM) hmenu->Self); } } } -- 2.17.1