diff --git a/dll/win32/browseui/shellfind/CSearchBar.cpp b/dll/win32/browseui/shellfind/CSearchBar.cpp index 543151394b3..8fb7ae3321b 100644 --- a/dll/win32/browseui/shellfind/CSearchBar.cpp +++ b/dll/win32/browseui/shellfind/CSearchBar.cpp @@ -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 psf; HRESULT hr = SHBindToParent(pidl, IID_PPV_ARG(IShellFolder, &psf), &pidlChild); diff --git a/dll/win32/shell32/folders/CDesktopFolder.cpp b/dll/win32/shell32/folders/CDesktopFolder.cpp index 3999df2d481..370a614285e 100644 --- a/dll/win32/shell32/folders/CDesktopFolder.cpp +++ b/dll/win32/shell32/folders/CDesktopFolder.cpp @@ -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;