https://git.reactos.org/?p=reactos.git;a=commitdiff;h=ca087b6a189f9c665e31fa...
commit ca087b6a189f9c665e31fa29130e84e21035a536 Author: Mark Jansen mark.jansen@reactos.org AuthorDate: Sun Sep 13 14:30:04 2020 +0200 Commit: Mark Jansen mark.jansen@reactos.org CommitDate: Sun Oct 4 19:34:20 2020 +0200
[BROWSEUI] Update the current directory before creating a view This way, when the view asks for a directory _during creation_ it does not get either an old, or an invalid directory CORE-17270 --- dll/win32/browseui/shellbrowser.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/dll/win32/browseui/shellbrowser.cpp b/dll/win32/browseui/shellbrowser.cpp index 8ef99aae6f0..c559c2ed5fb 100644 --- a/dll/win32/browseui/shellbrowser.cpp +++ b/dll/win32/browseui/shellbrowser.cpp @@ -974,6 +974,10 @@ HRESULT CShellBrowser::BrowseToPath(IShellFolder *newShellFolder, ZeroMemory(&shellViewWindowBounds, sizeof(shellViewWindowBounds)); ::MapWindowPoints(0, m_hWnd, reinterpret_cast<POINT *>(&shellViewWindowBounds), 2);
+ // update current pidl + ILFree(fCurrentDirectoryPIDL); + fCurrentDirectoryPIDL = ILClone(absolutePIDL); + // create view window hResult = newShellView->CreateViewWindow(saveCurrentShellView, folderSettings, this, &shellViewWindowBounds, &newShellViewWindow); @@ -988,10 +992,6 @@ HRESULT CShellBrowser::BrowseToPath(IShellFolder *newShellFolder, return hResult; }
- // update current pidl - ILFree(fCurrentDirectoryPIDL); - fCurrentDirectoryPIDL = ILClone(absolutePIDL); - // update view window if (saveCurrentShellView != NULL) saveCurrentShellView->DestroyViewWindow();