[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
This commit is contained in:
Mark Jansen 2020-09-13 14:30:04 +02:00
parent 7b17d8d900
commit ca087b6a18

View file

@ -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();