[BROWSEUI][SHELLFIND] Allow to 'Open Containing Folder'
authorJoachim Henze <Joachim.Henze@reactos.org>
Sat, 12 Oct 2019 13:44:58 +0000 (15:44 +0200)
committerJoachim Henze <Joachim.Henze@reactos.org>
Sat, 12 Oct 2019 13:44:58 +0000 (15:44 +0200)
of a search result again.

The feature regressed by 0.4.13-dev-1133-g
a3ee648d8b641604a87fcc3733d0946ced056074

I chose the shorter solution of Brock Mammen instead
of the patch of Doug Lyons from PR1960.

Still many thanks to Doug Lyons for his encouragement
in creating a fix as well and performing
regression-testing.

I intend to merge that back into 0.4.13RCs as well.

dll/win32/browseui/shellfind/CFindFolder.cpp

index 4db35f6..dcac0c0 100644 (file)
@@ -556,8 +556,10 @@ class CFindFolderContextMenu :
                 CComHeapPtr<ITEMIDLIST> folderPidl(ILCreateFromPathW(_ILGetPath(apidl[i])));
                 if (!folderPidl)
                     return E_OUTOFMEMORY;
-                LPCITEMIDLIST pidl = _ILGetFSPidl(apidl[i]);
-                SHOpenFolderAndSelectItems(folderPidl, 1, &pidl, 0);
+                CComHeapPtr<ITEMIDLIST> filePidl(ILCombine(folderPidl, _ILGetFSPidl(apidl[i])));
+                if (!filePidl)
+                    return E_OUTOFMEMORY;
+                SHOpenFolderAndSelectItems(folderPidl, 1, &filePidl, 0);
             }
             return S_OK;
         }