mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 09:25:10 +00:00
[SHELL32]
- Make some checks for failure in CDefView and CDefaultContextMenu noisy. svn path=/trunk/; revision=73187
This commit is contained in:
parent
f6c36fb82e
commit
d2812c3e70
3 changed files with 44 additions and 26 deletions
|
@ -1212,7 +1212,11 @@ HRESULT CDefView::InvokeContextMenuCommand(UINT uCommand)
|
||||||
if (GetKeyState(VK_CONTROL) & 0x8000)
|
if (GetKeyState(VK_CONTROL) & 0x8000)
|
||||||
cmi.fMask |= CMIC_MASK_CONTROL_DOWN;
|
cmi.fMask |= CMIC_MASK_CONTROL_DOWN;
|
||||||
|
|
||||||
return m_pCM->InvokeCommand(&cmi);
|
HRESULT hr = m_pCM->InvokeCommand(&cmi);
|
||||||
|
if (FAILED_UNEXPECTEDLY(hr))
|
||||||
|
return hr;
|
||||||
|
|
||||||
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**********************************************************
|
/**********************************************************
|
||||||
|
@ -1237,13 +1241,13 @@ HRESULT CDefView::OpenSelectedItems()
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
|
|
||||||
hResult = GetItemObject(SVGIO_SELECTION, IID_PPV_ARG(IContextMenu, &m_pCM));
|
hResult = GetItemObject(SVGIO_SELECTION, IID_PPV_ARG(IContextMenu, &m_pCM));
|
||||||
if (FAILED(hResult))
|
if (FAILED_UNEXPECTEDLY(hResult))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
IUnknown_SetSite(m_pCM, (IShellView *)this);
|
IUnknown_SetSite(m_pCM, (IShellView *)this);
|
||||||
|
|
||||||
hResult = m_pCM->QueryContextMenu(hMenu, 0, 0x20, 0x7fff, CMF_DEFAULTONLY);
|
hResult = m_pCM->QueryContextMenu(hMenu, 0, 0x20, 0x7fff, CMF_DEFAULTONLY);
|
||||||
if (FAILED(hResult))
|
if (FAILED_UNEXPECTEDLY(hResult))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
uCommand = GetMenuDefaultItem(hMenu, FALSE, 0);
|
uCommand = GetMenuDefaultItem(hMenu, FALSE, 0);
|
||||||
|
@ -1290,13 +1294,13 @@ LRESULT CDefView::OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &b
|
||||||
m_cidl = m_ListView.GetSelectedCount();
|
m_cidl = m_ListView.GetSelectedCount();
|
||||||
|
|
||||||
hResult = GetItemObject( m_cidl ? SVGIO_SELECTION : SVGIO_BACKGROUND, IID_PPV_ARG(IContextMenu, &m_pCM));
|
hResult = GetItemObject( m_cidl ? SVGIO_SELECTION : SVGIO_BACKGROUND, IID_PPV_ARG(IContextMenu, &m_pCM));
|
||||||
if (FAILED( hResult))
|
if (FAILED_UNEXPECTEDLY(hResult))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
IUnknown_SetSite(m_pCM, (IShellView *)this);
|
IUnknown_SetSite(m_pCM, (IShellView *)this);
|
||||||
|
|
||||||
hResult = m_pCM->QueryContextMenu(m_hContextMenu, 0, FCIDM_SHVIEWFIRST, FCIDM_SHVIEWLAST, CMF_NORMAL);
|
hResult = m_pCM->QueryContextMenu(m_hContextMenu, 0, FCIDM_SHVIEWFIRST, FCIDM_SHVIEWLAST, CMF_NORMAL);
|
||||||
if (FAILED( hResult))
|
if (FAILED_UNEXPECTEDLY(hResult))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
uCommand = TrackPopupMenu(m_hContextMenu,
|
uCommand = TrackPopupMenu(m_hContextMenu,
|
||||||
|
@ -1336,13 +1340,13 @@ LRESULT CDefView::OnExplorerCommand(UINT uCommand, BOOL bUseSelection)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
hResult = GetItemObject( bUseSelection ? SVGIO_SELECTION : SVGIO_BACKGROUND, IID_PPV_ARG(IContextMenu, &m_pCM));
|
hResult = GetItemObject( bUseSelection ? SVGIO_SELECTION : SVGIO_BACKGROUND, IID_PPV_ARG(IContextMenu, &m_pCM));
|
||||||
if (FAILED( hResult))
|
if (FAILED_UNEXPECTEDLY( hResult))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
IUnknown_SetSite(m_pCM, (IShellView *)this);
|
IUnknown_SetSite(m_pCM, (IShellView *)this);
|
||||||
|
|
||||||
hResult = m_pCM->QueryContextMenu(hMenu, 0, FCIDM_SHVIEWFIRST, FCIDM_SHVIEWLAST, CMF_NORMAL);
|
hResult = m_pCM->QueryContextMenu(hMenu, 0, FCIDM_SHVIEWFIRST, FCIDM_SHVIEWLAST, CMF_NORMAL);
|
||||||
if (FAILED( hResult))
|
if (FAILED_UNEXPECTEDLY( hResult))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
InvokeContextMenuCommand(uCommand);
|
InvokeContextMenuCommand(uCommand);
|
||||||
|
@ -1688,11 +1692,8 @@ LRESULT CDefView::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl
|
||||||
if (m_pSF2Parent)
|
if (m_pSF2Parent)
|
||||||
{
|
{
|
||||||
SHELLDETAILS sd;
|
SHELLDETAILS sd;
|
||||||
if (FAILED(m_pSF2Parent->GetDetailsOf(pidl, lpdi->item.iSubItem, &sd)))
|
if (FAILED_UNEXPECTEDLY(m_pSF2Parent->GetDetailsOf(pidl, lpdi->item.iSubItem, &sd)))
|
||||||
{
|
|
||||||
FIXME("failed to get details\n");
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
|
|
||||||
if (lpnmh->code == LVN_GETDISPINFOA)
|
if (lpnmh->code == LVN_GETDISPINFOA)
|
||||||
{
|
{
|
||||||
|
@ -2228,7 +2229,7 @@ HRESULT WINAPI CDefView::GetItemObject(UINT uItem, REFIID riid, LPVOID *ppvOut)
|
||||||
|
|
||||||
IContextMenu* pcm;
|
IContextMenu* pcm;
|
||||||
hr = CDefFolderMenu_Create2(NULL, NULL, 0, NULL, m_pSFParent, NULL, 0, NULL, &pcm);
|
hr = CDefFolderMenu_Create2(NULL, NULL, 0, NULL, m_pSFParent, NULL, 0, NULL, &pcm);
|
||||||
if (FAILED(hr))
|
if (FAILED_UNEXPECTEDLY(hr))
|
||||||
return hr;
|
return hr;
|
||||||
*ppvOut = pcm;
|
*ppvOut = pcm;
|
||||||
}
|
}
|
||||||
|
@ -2238,9 +2239,7 @@ HRESULT WINAPI CDefView::GetItemObject(UINT uItem, REFIID riid, LPVOID *ppvOut)
|
||||||
{
|
{
|
||||||
hr = CDefViewDual_Constructor(riid, (LPVOID*)&m_pShellFolderViewDual);
|
hr = CDefViewDual_Constructor(riid, (LPVOID*)&m_pShellFolderViewDual);
|
||||||
if (FAILED_UNEXPECTEDLY(hr))
|
if (FAILED_UNEXPECTEDLY(hr))
|
||||||
{
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
hr = m_pShellFolderViewDual->QueryInterface(riid, ppvOut);
|
hr = m_pShellFolderViewDual->QueryInterface(riid, ppvOut);
|
||||||
}
|
}
|
||||||
|
@ -2249,6 +2248,8 @@ HRESULT WINAPI CDefView::GetItemObject(UINT uItem, REFIID riid, LPVOID *ppvOut)
|
||||||
case SVGIO_SELECTION:
|
case SVGIO_SELECTION:
|
||||||
GetSelections();
|
GetSelections();
|
||||||
hr = m_pSFParent->GetUIObjectOf(m_hWnd, m_cidl, m_apidl, riid, 0, ppvOut);
|
hr = m_pSFParent->GetUIObjectOf(m_hWnd, m_cidl, m_apidl, riid, 0, ppvOut);
|
||||||
|
if (FAILED_UNEXPECTEDLY(hr))
|
||||||
|
return hr;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -360,9 +360,7 @@ CDefaultContextMenu::LoadDynamicContextMenuHandler(HKEY hKey, const CLSID *pclsi
|
||||||
|
|
||||||
PDynamicShellEntry pEntry = (DynamicShellEntry *)HeapAlloc(GetProcessHeap(), 0, sizeof(DynamicShellEntry));
|
PDynamicShellEntry pEntry = (DynamicShellEntry *)HeapAlloc(GetProcessHeap(), 0, sizeof(DynamicShellEntry));
|
||||||
if (!pEntry)
|
if (!pEntry)
|
||||||
{
|
|
||||||
return E_OUTOFMEMORY;
|
return E_OUTOFMEMORY;
|
||||||
}
|
|
||||||
|
|
||||||
pEntry->iIdCmdFirst = 0;
|
pEntry->iIdCmdFirst = 0;
|
||||||
pEntry->pNext = NULL;
|
pEntry->pNext = NULL;
|
||||||
|
@ -829,7 +827,11 @@ HRESULT CDefaultContextMenu::DoRefresh(LPCMINVOKECOMMANDINFO lpcmi)
|
||||||
if (FAILED_UNEXPECTEDLY(hr))
|
if (FAILED_UNEXPECTEDLY(hr))
|
||||||
return hr;
|
return hr;
|
||||||
|
|
||||||
return psv->Refresh();
|
hr = psv->Refresh();
|
||||||
|
if (FAILED_UNEXPECTEDLY(hr))
|
||||||
|
return hr;
|
||||||
|
|
||||||
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT CDefaultContextMenu::DoPaste(LPCMINVOKECOMMANDINFO lpcmi, BOOL bLink)
|
HRESULT CDefaultContextMenu::DoPaste(LPCMINVOKECOMMANDINFO lpcmi, BOOL bLink)
|
||||||
|
@ -932,7 +934,11 @@ HRESULT CDefaultContextMenu::DoCopyOrCut(LPCMINVOKECOMMANDINFO lpcmi, BOOL bCopy
|
||||||
m_pDataObj->SetData(&formatetc, &medium, TRUE);
|
m_pDataObj->SetData(&formatetc, &medium, TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
return OleSetClipboard(m_pDataObj);
|
HRESULT hr = OleSetClipboard(m_pDataObj);
|
||||||
|
if (FAILED_UNEXPECTEDLY(hr))
|
||||||
|
return hr;
|
||||||
|
|
||||||
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT CDefaultContextMenu::DoRename(LPCMINVOKECOMMANDINFO lpcmi)
|
HRESULT CDefaultContextMenu::DoRename(LPCMINVOKECOMMANDINFO lpcmi)
|
||||||
|
@ -954,7 +960,10 @@ HRESULT CDefaultContextMenu::DoRename(LPCMINVOKECOMMANDINFO lpcmi)
|
||||||
return hr;
|
return hr;
|
||||||
|
|
||||||
SVSIF selFlags = SVSI_DESELECTOTHERS | SVSI_EDIT | SVSI_ENSUREVISIBLE | SVSI_FOCUSED | SVSI_SELECT;
|
SVSIF selFlags = SVSI_DESELECTOTHERS | SVSI_EDIT | SVSI_ENSUREVISIBLE | SVSI_FOCUSED | SVSI_SELECT;
|
||||||
lpSV->SelectItem(m_apidl[0], selFlags);
|
hr = lpSV->SelectItem(m_apidl[0], selFlags);
|
||||||
|
if (FAILED_UNEXPECTEDLY(hr))
|
||||||
|
return hr;
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1115,10 +1124,12 @@ CDefaultContextMenu::DoCreateNewFolder(
|
||||||
|
|
||||||
hr = psv->SelectItem(pidlNewItem, SVSI_DESELECTOTHERS | SVSI_EDIT | SVSI_ENSUREVISIBLE |
|
hr = psv->SelectItem(pidlNewItem, SVSI_DESELECTOTHERS | SVSI_EDIT | SVSI_ENSUREVISIBLE |
|
||||||
SVSI_FOCUSED | SVSI_SELECT);
|
SVSI_FOCUSED | SVSI_SELECT);
|
||||||
|
if (FAILED_UNEXPECTEDLY(hr))
|
||||||
|
return hr;
|
||||||
|
|
||||||
SHFree(pidl);
|
SHFree(pidl);
|
||||||
|
|
||||||
return hr;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
PDynamicShellEntry CDefaultContextMenu::GetDynamicEntry(UINT idCmd)
|
PDynamicShellEntry CDefaultContextMenu::GetDynamicEntry(UINT idCmd)
|
||||||
|
@ -1216,7 +1227,7 @@ CDefaultContextMenu::BrowserFlagsFromVerb(LPCMINVOKECOMMANDINFO lpcmi, PStaticSh
|
||||||
|
|
||||||
/* Try to get the flag from the verb */
|
/* Try to get the flag from the verb */
|
||||||
hr = StringCbPrintfW(wszKey, sizeof(wszKey), L"shell\\%s", pEntry->szVerb);
|
hr = StringCbPrintfW(wszKey, sizeof(wszKey), L"shell\\%s", pEntry->szVerb);
|
||||||
if (!SUCCEEDED(hr))
|
if (FAILED_UNEXPECTEDLY(hr))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
cbVerb = sizeof(wFlags);
|
cbVerb = sizeof(wFlags);
|
||||||
|
@ -1650,7 +1661,11 @@ SHCreateDefaultContextMenu(const DEFCONTEXTMENU *pdcm, REFIID riid, void **ppv)
|
||||||
if (!pdcm->aKeys && pdcm->cidl)
|
if (!pdcm->aKeys && pdcm->cidl)
|
||||||
HackFillKeys((DEFCONTEXTMENU *)pdcm, hkeyHack);
|
HackFillKeys((DEFCONTEXTMENU *)pdcm, hkeyHack);
|
||||||
|
|
||||||
return CDefaultContextMenu_CreateInstance(pdcm, riid, ppv);
|
HRESULT hr = CDefaultContextMenu_CreateInstance(pdcm, riid, ppv);
|
||||||
|
if (FAILED_UNEXPECTEDLY(hr))
|
||||||
|
return hr;
|
||||||
|
|
||||||
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
|
@ -1683,6 +1698,8 @@ CDefFolderMenu_Create2(
|
||||||
pdcm.aKeys = ahkeyClsKeys;
|
pdcm.aKeys = ahkeyClsKeys;
|
||||||
|
|
||||||
HRESULT hr = SHCreateDefaultContextMenu(&pdcm, IID_PPV_ARG(IContextMenu, ppcm));
|
HRESULT hr = SHCreateDefaultContextMenu(&pdcm, IID_PPV_ARG(IContextMenu, ppcm));
|
||||||
return hr;
|
if (FAILED_UNEXPECTEDLY(hr))
|
||||||
}
|
return hr;
|
||||||
|
|
||||||
|
return S_OK;
|
||||||
|
}
|
||||||
|
|
|
@ -54,8 +54,8 @@ HRESULT WINAPI CPrintersExtractIconW_CreateInstane(LPCITEMIDLIST pidl, REFIID ri
|
||||||
{
|
{
|
||||||
CComPtr<IDefaultExtractIconInit> initIcon;
|
CComPtr<IDefaultExtractIconInit> initIcon;
|
||||||
HRESULT hr = SHCreateDefaultExtractIcon(IID_PPV_ARG(IDefaultExtractIconInit,&initIcon));
|
HRESULT hr = SHCreateDefaultExtractIcon(IID_PPV_ARG(IDefaultExtractIconInit,&initIcon));
|
||||||
if (FAILED(hr))
|
if (FAILED_UNEXPECTEDLY(hr))
|
||||||
return NULL;
|
return hr;
|
||||||
|
|
||||||
/* FIXME: other icons for default, network, print to file */
|
/* FIXME: other icons for default, network, print to file */
|
||||||
initIcon->SetNormalIcon(swShell32Name, -IDI_SHELL_PRINTER);
|
initIcon->SetNormalIcon(swShell32Name, -IDI_SHELL_PRINTER);
|
||||||
|
|
Loading…
Reference in a new issue