shell32: Use IS_INTRESOURCE() to test context menu verb kind.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2017-06-09 02:36:16 +03:00 committed by Alexandre Julliard
parent 8ea9c33829
commit 8499ace1ff
2 changed files with 20 additions and 17 deletions

View File

@ -1114,12 +1114,21 @@ static HRESULT WINAPI CompositeCMenu_GetCommandString(IContextMenu3* iface, UINT
static HRESULT WINAPI CompositeCMenu_InvokeCommand(IContextMenu3* iface,LPCMINVOKECOMMANDINFO pici) static HRESULT WINAPI CompositeCMenu_InvokeCommand(IContextMenu3* iface,LPCMINVOKECOMMANDINFO pici)
{ {
CompositeCMenu *This = impl_from_IContextMenu3(iface); CompositeCMenu *This = impl_from_IContextMenu3(iface);
TRACE("(%p)->(%p)\n", iface, pici); TRACE("(%p)->(%p)\n", iface, pici);
if(HIWORD(pici->lpVerb))
if (IS_INTRESOURCE(pici->lpVerb))
{
UINT id = (UINT_PTR)pici->lpVerb;
UINT index = CompositeCMenu_GetIndexForCommandId(This, id);
return IContextMenu_InvokeCommand(This->menus[index], pici);
}
else
{ {
/*call each handler until one of them succeeds*/ /*call each handler until one of them succeeds*/
UINT i=0; UINT i;
for(;i<This->menu_count;i++)
for (i = 0; i < This->menu_count; i++)
{ {
HRESULT hres; HRESULT hres;
if (SUCCEEDED(hres = IContextMenu_InvokeCommand(This->menus[i], pici))) if (SUCCEEDED(hres = IContextMenu_InvokeCommand(This->menus[i], pici)))
@ -1127,12 +1136,6 @@ static HRESULT WINAPI CompositeCMenu_InvokeCommand(IContextMenu3* iface,LPCMINVO
} }
return E_FAIL; return E_FAIL;
} }
else
{
UINT id = (UINT_PTR)pici->lpVerb;
UINT index = CompositeCMenu_GetIndexForCommandId(This,id);
return IContextMenu_InvokeCommand(This->menus[index],pici);
}
} }
static HRESULT WINAPI CompositeCMenu_QueryContextMenu(IContextMenu3 *iface, HMENU hmenu,UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) static HRESULT WINAPI CompositeCMenu_QueryContextMenu(IContextMenu3 *iface, HMENU hmenu,UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags)

View File

@ -397,13 +397,13 @@ static HRESULT WINAPI ItemMenu_InvokeCommand(
TRACE("(%p)->(invcom=%p verb=%p wnd=%p)\n",This,lpcmi,lpcmi->lpVerb, lpcmi->hwnd); TRACE("(%p)->(invcom=%p verb=%p wnd=%p)\n",This,lpcmi,lpcmi->lpVerb, lpcmi->hwnd);
if( HIWORD(lpcmi->lpVerb)==0 && LOWORD(lpcmi->lpVerb) > FCIDM_SHVIEWLAST) if (IS_INTRESOURCE(lpcmi->lpVerb) && LOWORD(lpcmi->lpVerb) > FCIDM_SHVIEWLAST)
{ {
TRACE("Invalid Verb %x\n", LOWORD(lpcmi->lpVerb)); TRACE("Invalid Verb %x\n", LOWORD(lpcmi->lpVerb));
return E_INVALIDARG; return E_INVALIDARG;
} }
if (HIWORD(lpcmi->lpVerb) == 0) if (IS_INTRESOURCE(lpcmi->lpVerb))
{ {
switch(LOWORD(lpcmi->lpVerb)) switch(LOWORD(lpcmi->lpVerb))
{ {