- Simplify some code by using shlwapi helpers
- See issue CORE-8919

svn path=/trunk/; revision=65700
This commit is contained in:
Giannis Adamopoulos 2014-12-17 12:11:31 +00:00
parent 3f135b5ac6
commit fadad0db13

View file

@ -89,13 +89,7 @@ HRESULT STDMETHODCALLTYPE CMenuDeskBar::ContextSensitiveHelp(BOOL fEnterMode)
HRESULT STDMETHODCALLTYPE CMenuDeskBar::OnFocusChangeIS(IUnknown *punkObj, BOOL fSetFocus) HRESULT STDMETHODCALLTYPE CMenuDeskBar::OnFocusChangeIS(IUnknown *punkObj, BOOL fSetFocus)
{ {
CComPtr<IInputObjectSite> ios; return IUnknown_OnFocusChangeIS(m_Client, punkObj, fSetFocus);
HRESULT hr = m_Client->QueryInterface(IID_PPV_ARG(IInputObjectSite, &ios));
if (FAILED_UNEXPECTEDLY(hr))
return hr;
return ios->OnFocusChangeIS(punkObj, fSetFocus);
} }
HRESULT STDMETHODCALLTYPE CMenuDeskBar::QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, HRESULT STDMETHODCALLTYPE CMenuDeskBar::QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds,
@ -177,24 +171,12 @@ HRESULT STDMETHODCALLTYPE CMenuDeskBar::UIActivateIO(BOOL fActivate, LPMSG lpMsg
HRESULT STDMETHODCALLTYPE CMenuDeskBar::HasFocusIO() HRESULT STDMETHODCALLTYPE CMenuDeskBar::HasFocusIO()
{ {
CComPtr<IInputObject> io; return IUnknown_HasFocusIO(m_Client);
HRESULT hr = m_Client->QueryInterface(IID_PPV_ARG(IInputObject, &io));
if (FAILED_UNEXPECTEDLY(hr))
return hr;
return io->HasFocusIO();
} }
HRESULT STDMETHODCALLTYPE CMenuDeskBar::TranslateAcceleratorIO(LPMSG lpMsg) HRESULT STDMETHODCALLTYPE CMenuDeskBar::TranslateAcceleratorIO(LPMSG lpMsg)
{ {
CComPtr<IInputObject> io; return IUnknown_TranslateAcceleratorIO(m_Client, lpMsg);
HRESULT hr = m_Client->QueryInterface(IID_PPV_ARG(IInputObject, &io));
if (FAILED_UNEXPECTEDLY(hr))
return hr;
return io->TranslateAcceleratorIO(lpMsg);
} }
HRESULT STDMETHODCALLTYPE CMenuDeskBar::SetClient(IUnknown *punkClient) HRESULT STDMETHODCALLTYPE CMenuDeskBar::SetClient(IUnknown *punkClient)
@ -564,20 +546,15 @@ BOOL CMenuDeskBar::_IsSubMenuParent(HWND hwnd)
while (popup) while (popup)
{ {
HRESULT hr; HRESULT hr;
CComPtr<IOleWindow> window;
hr = popup->QueryInterface(IID_PPV_ARG(IOleWindow, &window));
if (FAILED_UNEXPECTEDLY(hr))
return FALSE;
HWND parent; HWND parent;
hr = window->GetWindow(&parent); hr = IUnknown_GetWindow(popup, &parent);
if (SUCCEEDED(hr) && hwnd == parent) if (FAILED_UNEXPECTEDLY(hr))
return FALSE;
if (hwnd == parent)
return TRUE; return TRUE;
popup = NULL; hr = IUnknown_GetSite(popup, IID_PPV_ARG(IMenuPopup, &popup));
hr = IUnknown_GetSite(window, IID_PPV_ARG(IMenuPopup, &popup));
if (FAILED(hr)) if (FAILED(hr))
return FALSE; return FALSE;
} }