From 2cc01837293ee5fa1f8204fe7dbfe03d70564764 Mon Sep 17 00:00:00 2001 From: Robert Knight Date: Sun, 6 May 2007 04:27:53 +0000 Subject: [PATCH] When a session closes, switch to the previous view before deleting the session's displays. This (in most cases) prevents the 'flash' which occurs as one view disappears but before Konsole has switched to the next view. svn path=/trunk/KDE/kdebase/apps/konsole/; revision=661608 --- src/ViewManager.cpp | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/ViewManager.cpp b/src/ViewManager.cpp index 084b9d5a7..32b5bfa2d 100644 --- a/src/ViewManager.cpp +++ b/src/ViewManager.cpp @@ -222,6 +222,8 @@ void ViewManager::detachActiveView() void ViewManager::sessionFinished( Session* session ) { + previousView(); + QList children = _viewSplitter->findChildren(); foreach ( TerminalDisplay* view , children ) @@ -229,11 +231,9 @@ void ViewManager::sessionFinished( Session* session ) if ( _sessionMap[view] == session ) { _sessionMap.remove(view); - delete view; + view->deleteLater(); } } - - focusActiveView(); } void ViewManager::focusActiveView() @@ -435,12 +435,7 @@ void ViewManager::viewCloseRequest(QWidget* view) if ( session->views().count() == 0 ) session->closeSession(); } - else - { - kDebug() << __FILE__ << __LINE__ << ": received close request from unknown view." << endl; - } - - qDebug() << "Closing view"; + focusActiveView(); }