Index: krusader/Panel/listpanel.h =================================================================== --- krusader/Panel/listpanel.h +++ krusader/Panel/listpanel.h @@ -102,6 +102,7 @@ virtual void otherPanelChanged() Q_DECL_OVERRIDE; void start(const QUrl &url = QUrl()); + void openUrl(const QUrl &url); void reparent(QWidget *parent, AbstractPanelManager *manager); Index: krusader/Panel/listpanel.cpp =================================================================== --- krusader/Panel/listpanel.cpp +++ krusader/Panel/listpanel.cpp @@ -750,12 +750,8 @@ if (!startUrl.isValid()) startUrl = QUrl::fromLocalFile(ROOT_DIR); - _lastLocalPath = startUrl.isLocalFile() ? startUrl.path() : ROOT_DIR; - - - func->openUrl(startUrl); - setJumpBack(startUrl); + openUrl(startUrl); } void ListPanel::slotStartUpdate(bool directoryChange) @@ -793,6 +789,16 @@ slotUpdateTotals(); } +void ListPanel::openUrl(const QUrl &url) +{ + if (!url.isValid()) + return; + + _lastLocalPath = url.isLocalFile() ? url.path() : ROOT_DIR; + func->openUrl(url); +} + + void ListPanel::updateFilesystemStats(const QString &metaInfo, const QString &fsType, KIO::filesize_t total, KIO::filesize_t free) { Index: krusader/panelmanager.cpp =================================================================== --- krusader/panelmanager.cpp +++ krusader/panelmanager.cpp @@ -267,6 +267,7 @@ cfg.writeEntry("Properties", 0); p->restoreSettings(cfg); krConfig->deleteGroup(grpName); + p->openUrl(url); } else p->start(url);