[SHELL32]

- Explicitly check for pidl type in GetAttributesOf method of CDesktopFolder and CDrivesFolder

svn path=/trunk/; revision=67018
This commit is contained in:
Giannis Adamopoulos 2015-04-03 12:18:07 +00:00
parent c1904b1628
commit 7f9a543084
2 changed files with 8 additions and 5 deletions

View file

@ -550,8 +550,12 @@ HRESULT WINAPI CDesktopFolder::GetAttributesOf(
*rgfInOut &= dwMyComputerAttributes;
else if (_ILIsNetHood(apidl[i]))
*rgfInOut &= dwMyNetPlacesAttributes;
else if (_ILIsSpecialFolder(apidl[i]))
SHELL32_GetItemAttributes(this, apidl[i], rgfInOut);
else if(_ILIsFolder(apidl[i]) || _ILIsValue(apidl[i]))
SHELL32_GetItemAttributes(this, apidl[i], rgfInOut);
else
SHELL32_GetItemAttributes((IShellFolder *)this, apidl[i], rgfInOut);
ERR("Got an unknown pidl type!!!\n");
}
}
/* make sure SFGAO_VALIDATE is cleared, some apps depend on that */

View file

@ -375,11 +375,10 @@ HRESULT WINAPI CDrivesFolder::GetAttributesOf(UINT cidl, PCUITEMID_CHILD_ARRAY a
*rgfInOut &= dwDriveAttributes;
else if (_ILIsControlPanel(apidl[i]))
*rgfInOut &= dwControlPanelAttributes;
else
{
pdump(apidl[i]);
else if (_ILIsSpecialFolder(*apidl))
SHELL32_GetItemAttributes(this, apidl[i], rgfInOut);
}
else
ERR("Got unknown pidl type!\n");
}
}