* Fix some small things that were getting in the way of fixing the start menu (which was broken and no one noticed). The actual fix will come tomorrow since my brain is about to implode at this time.

svn path=/branches/shell-experiments/; revision=65065
This commit is contained in:
David Quintana
2014-10-28 01:27:02 +00:00
parent c199f8be2e
commit dc1da96ab8
5 changed files with 49 additions and 18 deletions
+12 -4
View File
@@ -131,11 +131,15 @@ HRESULT STDMETHODCALLTYPE CMenuDeskBar::Exec(const GUID *pguidCmdGroup, DWORD nC
HRESULT STDMETHODCALLTYPE CMenuDeskBar::QueryService(REFGUID guidService, REFIID riid, void **ppvObject)
{
HRESULT hr;
if (IsEqualGUID(guidService, SID_SMenuPopup) ||
IsEqualGUID(guidService, SID_SMenuBandParent) ||
IsEqualGUID(guidService, SID_STopLevelBrowser))
{
return this->QueryInterface(riid, ppvObject);
hr = this->QueryInterface(riid, ppvObject);
if (SUCCEEDED(hr))
return hr;
}
if (IsEqualGUID(guidService, SID_SMenuBandBottom) ||
@@ -145,7 +149,9 @@ HRESULT STDMETHODCALLTYPE CMenuDeskBar::QueryService(REFGUID guidService, REFIID
if (m_Client == NULL)
return E_NOINTERFACE;
return IUnknown_QueryService(m_Client, guidService, riid, ppvObject);
hr = IUnknown_QueryService(m_Client, guidService, riid, ppvObject);
if (SUCCEEDED(hr))
return hr;
}
@@ -484,6 +490,8 @@ HRESULT STDMETHODCALLTYPE CMenuDeskBar::OnSelect(DWORD dwSelectType)
*
*/
CComPtr<IMenuPopup> oldParent = m_SubMenuParent;
switch (dwSelectType)
{
case MPOS_EXECUTE:
@@ -498,8 +506,8 @@ HRESULT STDMETHODCALLTYPE CMenuDeskBar::OnSelect(DWORD dwSelectType)
case MPOS_SELECTLEFT:
case MPOS_SELECTRIGHT:
case MPOS_CHILDTRACKING:
if (m_SubMenuParent)
return m_SubMenuParent->OnSelect(dwSelectType);
if (oldParent)
return oldParent->OnSelect(dwSelectType);
break;
}