Commit d9c4f506 authored by Zebediah Figura's avatar Zebediah Figura Committed by Alexandre Julliard

shell32: Always use IContextMenu::InvokeCommand() when selecting an item from the context menu.

This reverts one of the changes included in d30dfd24. Relying on FCIDM_SHVIEW_OPEN snoops into the internals of IContextMenu for no good reason. While I haven't tested whether ICommDlgBrowser::OnDefaultCommand() is triggered in this case, the documentation states that it is "called when a user double-clicks in the view or presses the ENTER key"; this is neither scenario. Simply let the context menu call ShellExecuteEx().
parent f27e4a4a
......@@ -1055,25 +1055,12 @@ static void ShellView_DoContextMenu(IShellViewImpl * This, WORD x, WORD y, BOOL
if(uCommand > 0)
{
TRACE("-- uCommand=%u\n", uCommand);
if (uCommand==FCIDM_SHVIEW_OPEN && IsInCommDlg(This))
{
TRACE("-- dlg: OnDefaultCommand\n");
if (OnDefaultCommand(This) != S_OK)
{
ShellView_OpenSelectedItems(This);
}
}
else
{
TRACE("-- explore -- invoke command\n");
ZeroMemory(&cmi, sizeof(cmi));
cmi.cbSize = sizeof(cmi);
cmi.hwnd = This->hWndParent; /* this window has to answer CWM_GETISHELLBROWSER */
cmi.lpVerb = MAKEINTRESOURCEA(uCommand);
IContextMenu_InvokeCommand(pContextMenu, &cmi);
}
}
DestroyMenu(hMenu);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment