summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'kde-apps/konsole/files/konsole-21.04.3-no-flash-on-session-close.patch')
-rw-r--r--kde-apps/konsole/files/konsole-21.04.3-no-flash-on-session-close.patch81
1 files changed, 0 insertions, 81 deletions
diff --git a/kde-apps/konsole/files/konsole-21.04.3-no-flash-on-session-close.patch b/kde-apps/konsole/files/konsole-21.04.3-no-flash-on-session-close.patch
deleted file mode 100644
index d8b14f2f1660..000000000000
--- a/kde-apps/konsole/files/konsole-21.04.3-no-flash-on-session-close.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From 302c16791935cc3cf262aee355afce13d694b00f Mon Sep 17 00:00:00 2001
-From: Ahmad Samir <a.samirh78@gmail.com>
-Date: Thu, 12 Aug 2021 13:58:20 +0200
-Subject: [PATCH] Prevent window "flashing" when closing the last session
-
-There are two scenarios when closing a window:
-A) clicking the close button on the title bar (or Ctrl+Shift+Q):
-~MainWindow()
-~ViewManager()
-~TabbedViewContainer()
-~TerminalDisplay()
-~Session()
-
-B) closing the last session/tab in a window:
-SessionController::sessionFinished()
-~Session()
-~TerminalDisplay()
-~TabbedViewContainer()
-~MainWindow()
-~ViewManager()
-
-the issue with the second case is that the TerminalDisplay is torn down
-first, which exposes the TabbedViewContainer widget, the latter has the same
-Qt::Window colour as the system colour scheme window background colour, if
-you're using a dark terminal colour scheme and a light-coloured system colour
-scheme, you could see some "flashing" when you close the last session with
-e.g. Ctrl+D.
-
-To fix this, in sessionFinished() check if TabbedViewContainer::count() is
-1 (i.e. closing last tab/session), and emit the empty() signal in that case,
-which is connected to MainwWindow::close(), then the order of tear down
-becomes:
-SessionController::sessionFinished()
-~Session()
-~MainWindow()
-~ViewManager()
-~TabbedViewContainer()
-~TerminalDisplay()
-
-BUG: 432077
-FIXED-IN: 21.12
-(cherry picked from commit bbec72250d080ce286a6762fb9beee4b6e7981c9)
----
- src/MainWindow.cpp | 2 +-
- src/ViewManager.cpp | 7 +++++++
- 2 files changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp
-index cc38b3990..0fae334de 100644
---- a/src/MainWindow.cpp
-+++ b/src/MainWindow.cpp
-@@ -102,7 +102,7 @@ MainWindow::MainWindow() :
-
- // create view manager
- _viewManager = new ViewManager(this, actionCollection());
-- connect(_viewManager, &Konsole::ViewManager::empty, this, &Konsole::MainWindow::close);
-+ connect(_viewManager, &Konsole::ViewManager::empty, this, &QWidget::close);
- connect(_viewManager, &Konsole::ViewManager::activeViewChanged, this,
- &Konsole::MainWindow::activeViewChanged);
- connect(_viewManager, &Konsole::ViewManager::unplugController, this,
-diff --git a/src/ViewManager.cpp b/src/ViewManager.cpp
-index 751684dc8..4d33a4cf8 100644
---- a/src/ViewManager.cpp
-+++ b/src/ViewManager.cpp
-@@ -461,6 +461,13 @@ void ViewManager::sessionFinished()
- return;
- }
-
-+ // The last session/tab? emit empty() so that close() is called in
-+ // MainWindow, fixes #432077
-+ if (_viewContainer->count() == 1) {
-+ Q_EMIT empty();
-+ return;
-+ }
-+
- auto *session = qobject_cast<Session *>(sender());
- Q_ASSERT(session);
-
---
-GitLab
-