Commit 32a4ac16 authored by Ulrich Czekalla's avatar Ulrich Czekalla Committed by Alexandre Julliard

shell32: Revert c1f28244. It caused poor performance.

Patch c1f28244 causes poor performance when browsing a directory. In fact it has a side affect that when you browse the root folder off of My Computer it will enumerate not only the root's contents but each subfolder's contents as well in order to get a more likely correct value for SFGAO_HASSUBFOLDER.
parent b0a069dc
......@@ -466,22 +466,6 @@ HRESULT SHELL32_GetItemAttributes (IShellFolder * psf, LPCITEMIDLIST pidl, LPDWO
if (!_ILGetExtension(pidl, ext, MAX_PATH) || lstrcmpiA(ext, "lnk"))
*pdwAttributes &= ~SFGAO_LINK;
}
if (SFGAO_HASSUBFOLDER & *pdwAttributes)
{
IShellFolder *psf2;
if (SUCCEEDED(IShellFolder_BindToObject(psf, pidl, 0, (REFIID)&IID_IShellFolder, (LPVOID *)&psf2)))
{
IEnumIDList *pEnumIL = NULL;
if (SUCCEEDED(IShellFolder_EnumObjects(psf2, 0, SHCONTF_FOLDERS, &pEnumIL)))
{
if (IEnumIDList_Skip(pEnumIL, 1) != S_OK)
*pdwAttributes &= ~SFGAO_HASSUBFOLDER;
IEnumIDList_Release(pEnumIL);
}
IShellFolder_Release(psf2);
}
}
} else {
*pdwAttributes &= SFGAO_HASSUBFOLDER|SFGAO_FOLDER|SFGAO_FILESYSANCESTOR|SFGAO_DROPTARGET|SFGAO_HASPROPSHEET|SFGAO_CANRENAME|SFGAO_CANLINK;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment