pNewItem->pwszExt = _wcsdup(pwszExt);
pNewItem->pwszDesc = _wcsdup(fi.szTypeName);
if (fi.hIcon)
+ {
pNewItem->hBitmap = IconToBitmap(fi.hIcon);
+ DestroyIcon(fi.hIcon);
+ }
return pNewItem;
}
HRESULT STDMETHODCALLTYPE CNewMenu::GetSite(REFIID riid, void **ppvSite)
{
- if (ppvSite == NULL)
- return E_POINTER;
- *ppvSite = m_pSite;
- if (m_pSite != NULL)
- m_pSite->AddRef();
- return S_OK;
+ return m_pSite->QueryInterface(riid, ppvSite);
}
HRESULT
WINAPI
CNewMenu::InvokeCommand(LPCMINVOKECOMMANDINFO lpici)
{
- IShellBrowser *lpSB = NULL;
- CComPtr<IShellView> lpSV = NULL;
+ CComPtr<IShellBrowser> lpSB;
+ CComPtr<IShellView> lpSV;
HRESULT hr = E_FAIL;
/* Note: CWM_GETISHELLBROWSER returns shell browser without adding reference */