diff --git a/krusader/Panel/panelfunc.h b/krusader/Panel/panelfunc.h --- a/krusader/Panel/panelfunc.h +++ b/krusader/Panel/panelfunc.h @@ -146,7 +146,7 @@ bool immediately, bool manuallyEntered); void runCommand(QString cmd); - ListPanel* panel; // our ListPanel + QPointer panel; // our ListPanel DirHistoryQueue* history; FileSystem* fileSystemP; // pointer to fileSystem. QTimer delayTimer; diff --git a/krusader/Panel/panelfunc.cpp b/krusader/Panel/panelfunc.cpp --- a/krusader/Panel/panelfunc.cpp +++ b/krusader/Panel/panelfunc.cpp @@ -315,6 +315,9 @@ // update the history and address bar, as the actual url might differ from the one requested history->setCurrentUrl(fileSystemP->currentDirectory()); panel->setNavigatorUrl(fileSystemP->currentDirectory()); + } else if (!panel) { + // this panel was deleted while refreshing + return; } panel->view->setNameToMakeCurrent(QString());