mirror of
https://github.com/reactos/reactos.git
synced 2025-06-19 03:25:36 +00:00
[RSHELL]
* CMenuBand: Refcount before assigning a return pointer. * CMenuDeskBar: Revert change and protect the refcounting in case I was wrong to assume there will be exactly one OnFinalMessage for each OnCreate. * CMenuToolbars: Add a debug message. * CStartMenu: Refcount correctly. svn path=/branches/shell-experiments/; revision=65088
This commit is contained in:
parent
6dce3d956e
commit
40a2e03359
7 changed files with 48 additions and 19 deletions
|
@ -39,7 +39,8 @@ CMenuDeskBar::CMenuDeskBar() :
|
|||
m_IconSize(0),
|
||||
m_Banner(NULL),
|
||||
m_Shown(FALSE),
|
||||
m_ShowFlags(0)
|
||||
m_ShowFlags(0),
|
||||
m_didAddRef(FALSE)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -49,7 +50,11 @@ CMenuDeskBar::~CMenuDeskBar()
|
|||
|
||||
LRESULT CMenuDeskBar::_OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
|
||||
{
|
||||
this->AddRef();
|
||||
if (!m_didAddRef)
|
||||
{
|
||||
this->AddRef();
|
||||
m_didAddRef = TRUE;
|
||||
}
|
||||
|
||||
bHandled = FALSE;
|
||||
return 0;
|
||||
|
@ -57,6 +62,11 @@ LRESULT CMenuDeskBar::_OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &b
|
|||
|
||||
void CMenuDeskBar::OnFinalMessage(HWND /* hWnd */)
|
||||
{
|
||||
if (m_didAddRef)
|
||||
{
|
||||
this->Release();
|
||||
m_didAddRef = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
HRESULT STDMETHODCALLTYPE CMenuDeskBar::Initialize(THIS)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue