diff options
Diffstat (limited to 'kde-apps/konsole/files/konsole-21.08.0-fix-crash-w-blur.patch')
-rw-r--r-- | kde-apps/konsole/files/konsole-21.08.0-fix-crash-w-blur.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/kde-apps/konsole/files/konsole-21.08.0-fix-crash-w-blur.patch b/kde-apps/konsole/files/konsole-21.08.0-fix-crash-w-blur.patch new file mode 100644 index 000000000000..b0c7193eda84 --- /dev/null +++ b/kde-apps/konsole/files/konsole-21.08.0-fix-crash-w-blur.patch @@ -0,0 +1,49 @@ +From f24dd6acc28393ba6f731be1360731c01a9a1ef0 Mon Sep 17 00:00:00 2001 +From: Ahmad Samir <a.samirh78@gmail.com> +Date: Fri, 16 Jul 2021 21:37:51 +0200 +Subject: [PATCH] Fix crash when setting blur effect + +Basically to use QWidget::windowHandle() to get a QWindow*, we need to first +set the Qt::WA_NativeWindow attribute on the QWidget. See: +https://phabricator.kde.org/D23108 + +BUG: 439871 +FIXED-IN: 21.12 +(cherry picked from commit a6b2bd539162b39191e827566b656bd97266ffad) +--- + src/MainWindow.cpp | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp +index ed5d8cc3d..c67acf8b9 100644 +--- a/src/MainWindow.cpp ++++ b/src/MainWindow.cpp +@@ -56,6 +56,8 @@ + #include "terminalDisplay/TerminalDisplay.h" + #include "widgets/ViewContainer.h" + ++#include <konsoledebug.h> ++ + using namespace Konsole; + + MainWindow::MainWindow() : +@@ -889,7 +891,15 @@ void MainWindow::setBlur(bool blur) + #if KWINDOWSYSTEM_VERSION < QT_VERSION_CHECK(5,82,0) + KWindowEffects::enableBlurBehind(winId(), blur); + #else +- KWindowEffects::enableBlurBehind(windowHandle(), blur); ++ // Set the WA_NativeWindow attribute to force the creation of the QWindow. ++ // Without this QWidget::windowHandle() returns 0. ++ // See https://phabricator.kde.org/D23108 ++ setAttribute(Qt::WA_NativeWindow); ++ if (QWindow *window = windowHandle()) { ++ KWindowEffects::enableBlurBehind(window, blur); ++ } else { ++ qCWarning(KonsoleDebug) << "Blur effect couldn't be enabled."; ++ } + #endif + } + } +-- +GitLab + |