[SHELL32]

- SHOpenFolderAndSelectItems: Take into account buggy applications like firefox that like to pass full pidls in a PCUITEMID_CHILD_ARRAY.

svn path=/trunk/; revision=73160
This commit is contained in:
Giannis Adamopoulos 2016-11-06 22:25:02 +00:00
parent b183748a87
commit f4a1861aab

View file

@ -528,9 +528,21 @@ SHOpenFolderAndSelectItems(LPITEMIDLIST pidlFolder,
ERR("SHOpenFolderAndSelectItems() is hackplemented\n");
PCIDLIST_ABSOLUTE pidlItem;
if (cidl)
pidlItem = ILCombine(pidlFolder, apidl[0]);
{
/* Firefox sends a full pidl here dispite the fact it is a PCUITEMID_CHILD_ARRAY -_- */
if (ILGetNext(apidl[0]) != NULL)
{
pidlItem = apidl[0];
}
else
{
pidlItem = ILCombine(pidlFolder, apidl[0]);
}
}
else
{
pidlItem = pidlFolder;
}
CComPtr<IShellFolder> psfDesktop;