Author: gadamopoulos
Date: Sun Nov 6 22:25:02 2016
New Revision: 73160
URL:
http://svn.reactos.org/svn/reactos?rev=73160&view=rev
Log:
[SHELL32]
- SHOpenFolderAndSelectItems: Take into account buggy applications like firefox that like
to pass full pidls in a PCUITEMID_CHILD_ARRAY.
Modified:
trunk/reactos/dll/win32/shell32/shlfolder.cpp
Modified: trunk/reactos/dll/win32/shell32/shlfolder.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shlfolde…
==============================================================================
--- trunk/reactos/dll/win32/shell32/shlfolder.cpp [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/shlfolder.cpp [iso-8859-1] Sun Nov 6 22:25:02 2016
@@ -528,9 +528,21 @@
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;