[SHELL32] Correctly compare pidls for SHBrowseForFolder BFFM_SETEXPANDED (#7499)

_ILIsEqualSimple just does a memcmp and that does not work for all items.

Should improve shell change notifications (CORE-13950).
This commit is contained in:
Whindmar Saksit
2024-11-16 16:28:28 +01:00
committed by GitHub
parent 81860b482a
commit 6d109254ab
9 changed files with 298 additions and 115 deletions

View File

@@ -4608,9 +4608,9 @@ HRESULT WINAPI CDefView::GetAdvise(DWORD *pAspects, DWORD *pAdvf, IAdviseSink **
HRESULT STDMETHODCALLTYPE CDefView::QueryService(REFGUID guidService, REFIID riid, void **ppvObject)
{
if (IsEqualIID(guidService, SID_IShellBrowser))
if (IsEqualIID(guidService, SID_IShellBrowser) && m_pShellBrowser)
return m_pShellBrowser->QueryInterface(riid, ppvObject);
else if(IsEqualIID(guidService, SID_IFolderView))
else if (IsEqualIID(guidService, SID_IFolderView))
return QueryInterface(riid, ppvObject);
return E_NOINTERFACE;