[BROWSEUI]

- CComObject cannot be a class member and must be allocated using new. Fixes invalid free.

svn path=/trunk/; revision=63853
This commit is contained in:
Thomas Faber 2014-08-10 18:39:05 +00:00
parent faf7e3ec94
commit 6af1d6e6c8
2 changed files with 3 additions and 4 deletions

View file

@ -481,14 +481,13 @@ CInternetToolbar::CInternetToolbar()
fLocked = false; fLocked = false;
fMenuBandWindow = NULL; fMenuBandWindow = NULL;
fNavigationWindow = NULL; fNavigationWindow = NULL;
fMenuCallback.AddRef(); fMenuCallback = new CComObject<CMenuCallback>();
fToolbarWindow = NULL; fToolbarWindow = NULL;
fAdviseCookie = 0; fAdviseCookie = 0;
} }
CInternetToolbar::~CInternetToolbar() CInternetToolbar::~CInternetToolbar()
{ {
fMenuCallback.Release();
} }
void CInternetToolbar::AddDockItem(IUnknown *newItem, int bandID, int flags) void CInternetToolbar::AddDockItem(IUnknown *newItem, int bandID, int flags)
@ -540,7 +539,7 @@ HRESULT CInternetToolbar::CreateMenuBar(IShellMenu **menuBar)
IID_IShellMenu, reinterpret_cast<void **>(menuBar)); IID_IShellMenu, reinterpret_cast<void **>(menuBar));
if (FAILED(hResult)) if (FAILED(hResult))
return hResult; return hResult;
hResult = fMenuCallback.QueryInterface(IID_IShellMenuCallback, reinterpret_cast<void **>(&callback)); hResult = fMenuCallback->QueryInterface(IID_IShellMenuCallback, reinterpret_cast<void **>(&callback));
if (FAILED(hResult)) if (FAILED(hResult))
return hResult; return hResult;
hResult = (*menuBar)->Initialize(callback, -1, ANCESTORDEFAULT, SMINIT_HORIZONTAL | SMINIT_TOPLEVEL); hResult = (*menuBar)->Initialize(callback, -1, ANCESTORDEFAULT, SMINIT_HORIZONTAL | SMINIT_TOPLEVEL);

View file

@ -90,7 +90,7 @@ public:
CComPtr<IUnknown> fLogoBar; // the reactos logo CComPtr<IUnknown> fLogoBar; // the reactos logo
CComPtr<IUnknown> fControlsBar; // navigation controls CComPtr<IUnknown> fControlsBar; // navigation controls
CComPtr<IUnknown> fNavigationBar; // address bar CComPtr<IUnknown> fNavigationBar; // address bar
CComObject<CMenuCallback> fMenuCallback; CComPtr<CMenuCallback> fMenuCallback;
CComPtr<IOleCommandTarget> fCommandTarget; CComPtr<IOleCommandTarget> fCommandTarget;
GUID fCommandCategory; GUID fCommandCategory;
HWND fToolbarWindow; HWND fToolbarWindow;