mirror of
https://github.com/reactos/reactos.git
synced 2025-07-29 05:02:51 +00:00
[RSHELL]
* CMenuSite: Reworked the code to avoid SHIsSameObject, since newer versions of windows do not implement that function. The code should be equivalent, and does less unnecessary calls to QueryInterface. CORE-7879 svn path=/branches/shell-experiments/; revision=62432
This commit is contained in:
parent
7529c9897c
commit
64c34d24fd
1 changed files with 11 additions and 9 deletions
|
@ -103,7 +103,11 @@ HRESULT STDMETHODCALLTYPE CMenuSite::AddBand(IUnknown * punk)
|
|||
|
||||
#define TO_HRESULT(x) ((HRESULT)(S_OK+(x)))
|
||||
|
||||
if (SHIsSameObject(punk, m_BandObject))
|
||||
CComPtr<IUnknown> pUnknown;
|
||||
|
||||
punk->QueryInterface(IID_PPV_ARG(IUnknown, &pUnknown));
|
||||
|
||||
if (pUnknown == m_BandObject)
|
||||
return TO_HRESULT(0);
|
||||
|
||||
if (m_BandObject)
|
||||
|
@ -118,28 +122,26 @@ HRESULT STDMETHODCALLTYPE CMenuSite::AddBand(IUnknown * punk)
|
|||
m_WinEventHandler = NULL;
|
||||
m_hWndBand = NULL;
|
||||
|
||||
if (!punk)
|
||||
if (!pUnknown)
|
||||
return TO_HRESULT(0);
|
||||
|
||||
hr = punk->QueryInterface(IID_PPV_ARG(IDeskBand, &m_DeskBand));
|
||||
hr = pUnknown->QueryInterface(IID_PPV_ARG(IDeskBand, &m_DeskBand));
|
||||
if (FAILED_UNEXPECTEDLY(hr))
|
||||
return hr;
|
||||
|
||||
hr = punk->QueryInterface(IID_PPV_ARG(IWinEventHandler, &m_WinEventHandler));
|
||||
hr = pUnknown->QueryInterface(IID_PPV_ARG(IWinEventHandler, &m_WinEventHandler));
|
||||
if (FAILED_UNEXPECTEDLY(hr))
|
||||
return hr;
|
||||
|
||||
hr = IUnknown_SetSite(punk, this->ToIUnknown());
|
||||
hr = IUnknown_SetSite(pUnknown, this->ToIUnknown());
|
||||
if (FAILED_UNEXPECTEDLY(hr))
|
||||
return hr;
|
||||
|
||||
hr = IUnknown_GetWindow(punk, &m_hWndBand);
|
||||
hr = IUnknown_GetWindow(pUnknown, &m_hWndBand);
|
||||
if (FAILED_UNEXPECTEDLY(hr))
|
||||
return hr;
|
||||
|
||||
m_BandObject = punk;
|
||||
|
||||
punk->AddRef();
|
||||
m_BandObject = pUnknown;
|
||||
|
||||
return TO_HRESULT(0);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue