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/shlfolder... ============================================================================== --- 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;