* Improve behaviour when hovering and clicking on the menubar. It's still somewhat glitchy though.
CORE-7586

svn path=/branches/shell-experiments/; revision=62539
This commit is contained in:
David Quintana 2014-03-21 10:13:18 +00:00
parent 0216102e0c
commit d2b33acd15
4 changed files with 38 additions and 4 deletions

View file

@ -56,6 +56,9 @@ CMenuBand::CMenuBand() :
m_site(NULL),
m_psmc(NULL),
m_subMenuChild(NULL),
m_subMenuParent(NULL),
m_childBand(NULL),
m_parentBand(NULL),
m_hmenu(NULL),
m_menuOwner(NULL),
m_useBigIcons(FALSE),
@ -352,6 +355,10 @@ HRESULT STDMETHODCALLTYPE CMenuBand::ShowDW(BOOL fShow)
if (FAILED_UNEXPECTEDLY(hr))
return hr;
}
else if (m_parentBand)
{
m_parentBand->SetClient(NULL);
}
if (fShow)
hr = m_focusManager->PushMenu(this);
@ -490,6 +497,17 @@ HRESULT CMenuBand::_SetChildBand(CMenuBand * child)
return S_OK;
}
HRESULT CMenuBand::_SetParentBand(CMenuBand * parent)
{
m_parentBand = parent;
return S_OK;
}
HRESULT CMenuBand::_IsPopup()
{
return m_subMenuParent ? S_OK : S_FALSE;
}
HRESULT STDMETHODCALLTYPE CMenuBand::SetClient(IUnknown *punkClient)
{
if (m_subMenuChild)