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