[BROWSEUI] Don't pass the internal PIDL to the shell for processing (#7859)

CORE-20063
This commit is contained in:
Whindmar Saksit
2025-04-03 20:52:53 +02:00
committed by GitHub
parent 98b26cc24a
commit 72bd9ef29a
2 changed files with 5 additions and 2 deletions

View File

@@ -76,6 +76,9 @@ static BYTE GetSpecial(PCIDLIST_ABSOLUTE pidl)
static HRESULT BindToObject(PCIDLIST_ABSOLUTE pidl, REFIID riid, void **ppv)
{
if (GetSpecial(pidl))
return E_FAIL;
PCUITEMID_CHILD pidlChild;
CComPtr<IShellFolder> psf;
HRESULT hr = SHBindToParent(pidl, IID_PPV_ARG(IShellFolder, &psf), &pidlChild);

View File

@@ -311,9 +311,9 @@ HRESULT CDesktopFolder::_GetSFFromPidl(LPCITEMIDLIST pidl, IShellFolder2** psf)
{
FIXME("Desktop is unexpected here!\n");
}
else
else if (_ILIsSpecialFolder(pidl))
{
ASSERT(!_ILIsSpecialFolder(pidl));
FIXME("Unexpected PIDL type %#x\n", pidl->mkid.abID[0]);
}
#endif
IShellFolder *pSF = IsCommonItem(pidl) ? m_SharedDesktopFSFolder : m_DesktopFSFolder;