[EXPLORER-NEW]
[reactos.git] / dll / win32 / shell32 / newmenu.cpp
index 53dc802..db71220 100644 (file)
@@ -179,7 +179,10 @@ CNewMenu::SHELLNEW_ITEM *CNewMenu::LoadItem(LPCWSTR pwszExt)
     pNewItem->pwszExt = _wcsdup(pwszExt);
     pNewItem->pwszDesc = _wcsdup(fi.szTypeName);
     if (fi.hIcon)
+    {
         pNewItem->hBitmap = IconToBitmap(fi.hIcon);
+        DestroyIcon(fi.hIcon);
+    }
 
     return pNewItem;
 }
@@ -544,12 +547,7 @@ HRESULT STDMETHODCALLTYPE CNewMenu::SetSite(IUnknown *pUnkSite)
 
 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
@@ -596,8 +594,8 @@ 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 */