mirror of
https://github.com/reactos/reactos.git
synced 2025-07-04 02:01:21 +00:00
- Check if IContextMenu_InvokeCommand succeeded
- Pass the identifiers of string as id to _InsertMenuItem function - Should fix invoking control panel items svn path=/trunk/; revision=37177
This commit is contained in:
parent
1daef4a078
commit
60cea54fbe
2 changed files with 10 additions and 8 deletions
|
@ -1212,7 +1212,7 @@ static HRESULT WINAPI ICPanel_IContextMenu2_QueryContextMenu(
|
||||||
if (LoadStringW(shell32_hInstance, IDS_OPEN, szBuffer, sizeof(szBuffer)/sizeof(WCHAR)))
|
if (LoadStringW(shell32_hInstance, IDS_OPEN, szBuffer, sizeof(szBuffer)/sizeof(WCHAR)))
|
||||||
{
|
{
|
||||||
szBuffer[(sizeof(szBuffer)/sizeof(WCHAR))-1] = L'\0';
|
szBuffer[(sizeof(szBuffer)/sizeof(WCHAR))-1] = L'\0';
|
||||||
_InsertMenuItemW(hMenu, indexMenu++, TRUE, idCmdFirst + Count, MFT_STRING, szBuffer, MFS_DEFAULT);
|
_InsertMenuItemW(hMenu, indexMenu++, TRUE, IDS_OPEN, MFT_STRING, szBuffer, MFS_DEFAULT); //FIXME identifier
|
||||||
Count++;
|
Count++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1224,7 +1224,7 @@ static HRESULT WINAPI ICPanel_IContextMenu2_QueryContextMenu(
|
||||||
}
|
}
|
||||||
szBuffer[(sizeof(szBuffer)/sizeof(WCHAR))-1] = L'\0';
|
szBuffer[(sizeof(szBuffer)/sizeof(WCHAR))-1] = L'\0';
|
||||||
|
|
||||||
_InsertMenuItemW(hMenu, indexMenu++, TRUE, idCmdFirst + Count, MFT_STRING, szBuffer, MFS_ENABLED);
|
_InsertMenuItemW(hMenu, indexMenu++, TRUE, IDS_CREATELINK, MFT_STRING, szBuffer, MFS_ENABLED); //FIXME identifier
|
||||||
Count++;
|
Count++;
|
||||||
}
|
}
|
||||||
return MAKE_HRESULT(SEVERITY_SUCCESS, 0, Count);
|
return MAKE_HRESULT(SEVERITY_SUCCESS, 0, Count);
|
||||||
|
@ -1251,7 +1251,7 @@ static HRESULT WINAPI ICPanel_IContextMenu2_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 (lpcmi->lpVerb == MAKEINTRESOURCEA(1))
|
if (lpcmi->lpVerb == MAKEINTRESOURCEA(IDS_OPEN)) //FIXME
|
||||||
{
|
{
|
||||||
ZeroMemory(&sei, sizeof(sei));
|
ZeroMemory(&sei, sizeof(sei));
|
||||||
sei.cbSize = sizeof(sei);
|
sei.cbSize = sizeof(sei);
|
||||||
|
@ -1264,7 +1264,7 @@ static HRESULT WINAPI ICPanel_IContextMenu2_InvokeCommand(
|
||||||
if (sei.hInstApp <= (HINSTANCE)32)
|
if (sei.hInstApp <= (HINSTANCE)32)
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
}
|
}
|
||||||
else if (lpcmi->lpVerb == MAKEINTRESOURCEA(2))
|
else if (lpcmi->lpVerb == MAKEINTRESOURCEA(IDS_CREATELINK)) //FIXME
|
||||||
{
|
{
|
||||||
if (!SHGetSpecialFolderPathW(NULL, szPath, CSIDL_DESKTOPDIRECTORY, FALSE))
|
if (!SHGetSpecialFolderPathW(NULL, szPath, CSIDL_DESKTOPDIRECTORY, FALSE))
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
|
|
|
@ -887,11 +887,13 @@ static HRESULT ShellView_OpenSelectedItems(IShellViewImpl * This)
|
||||||
ici.lpVerb = MAKEINTRESOURCEA( def );
|
ici.lpVerb = MAKEINTRESOURCEA( def );
|
||||||
ici.hwnd = This->hWnd;
|
ici.hwnd = This->hWnd;
|
||||||
|
|
||||||
IContextMenu_InvokeCommand(cm, (LPCMINVOKECOMMANDINFO) &ici );
|
if (IContextMenu_InvokeCommand(cm, (LPCMINVOKECOMMANDINFO) &ici ) == S_OK)
|
||||||
|
{
|
||||||
IContextMenu_Release(cm);
|
IContextMenu_Release(cm);
|
||||||
DestroyMenu( hmenu );
|
DestroyMenu( hmenu );
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
DestroyMenu( hmenu );
|
DestroyMenu( hmenu );
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue