Skip to content

Commit 72bd9ef

Browse files
authored
[BROWSEUI] Don't pass the internal PIDL to the shell for processing (reactos#7859)
CORE-20063
1 parent 98b26cc commit 72bd9ef

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

dll/win32/browseui/shellfind/CSearchBar.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,9 @@ static BYTE GetSpecial(PCIDLIST_ABSOLUTE pidl)
7676

7777
static HRESULT BindToObject(PCIDLIST_ABSOLUTE pidl, REFIID riid, void **ppv)
7878
{
79+
if (GetSpecial(pidl))
80+
return E_FAIL;
81+
7982
PCUITEMID_CHILD pidlChild;
8083
CComPtr<IShellFolder> psf;
8184
HRESULT hr = SHBindToParent(pidl, IID_PPV_ARG(IShellFolder, &psf), &pidlChild);

dll/win32/shell32/folders/CDesktopFolder.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -311,9 +311,9 @@ HRESULT CDesktopFolder::_GetSFFromPidl(LPCITEMIDLIST pidl, IShellFolder2** psf)
311311
{
312312
FIXME("Desktop is unexpected here!\n");
313313
}
314-
else
314+
else if (_ILIsSpecialFolder(pidl))
315315
{
316-
ASSERT(!_ILIsSpecialFolder(pidl));
316+
FIXME("Unexpected PIDL type %#x\n", pidl->mkid.abID[0]);
317317
}
318318
#endif
319319
IShellFolder *pSF = IsCommonItem(pidl) ? m_SharedDesktopFSFolder : m_DesktopFSFolder;

0 commit comments

Comments
 (0)