summaryrefslogtreecommitdiff
path: root/user/knewstuff
diff options
context:
space:
mode:
Diffstat (limited to 'user/knewstuff')
-rw-r--r--user/knewstuff/APKBUILD7
-rw-r--r--user/knewstuff/backport.patch54
2 files changed, 59 insertions, 2 deletions
diff --git a/user/knewstuff/APKBUILD b/user/knewstuff/APKBUILD
index 7720f7aa2..bef47c3f5 100644
--- a/user/knewstuff/APKBUILD
+++ b/user/knewstuff/APKBUILD
@@ -18,7 +18,9 @@ makedepends="$depends_dev cmake extra-cmake-modules python3 doxygen graphviz
ki18n-dev kiconthemes-dev kirigami2-dev kitemviews-dev kpackage-dev
ktextwidgets-dev kwidgetsaddons-dev syndication-dev $docdepends"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
-source="https://download.kde.org/stable/frameworks/${pkgver%.*}/knewstuff-$pkgver.tar.xz"
+source="https://download.kde.org/stable/frameworks/${pkgver%.*}/knewstuff-$pkgver.tar.xz
+ backport.patch
+ "
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -45,4 +47,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="6269614a0df2616bd5bd1a8e9c3f8dc16920bbd4cf8fd18a5ccc1e818c292d90533de3dc77ce8fbbb183388ad6fed72a30b78177eddd87624499b3c75d55a226 knewstuff-5.94.0.tar.xz"
+sha512sums="6269614a0df2616bd5bd1a8e9c3f8dc16920bbd4cf8fd18a5ccc1e818c292d90533de3dc77ce8fbbb183388ad6fed72a30b78177eddd87624499b3c75d55a226 knewstuff-5.94.0.tar.xz
+5c73d39a78658899f4e7b2526608498ff63bf4e6f9b730b0f20f3205017e77fe4a9a96e3ab9e42f0789234a3e0658a89f646bc040488465f07689bc9629105fc backport.patch"
diff --git a/user/knewstuff/backport.patch b/user/knewstuff/backport.patch
new file mode 100644
index 000000000..002d4c182
--- /dev/null
+++ b/user/knewstuff/backport.patch
@@ -0,0 +1,54 @@
+From b634b65dd081746ccb8bdfa9bf2d878d13e2c0fb Mon Sep 17 00:00:00 2001
+From: Alexander Lohnau <alexander.lohnau@gmx.de>
+Date: Tue, 24 May 2022 12:58:54 +0200
+Subject: [PATCH] Fix QtQuickDialogWrapper dialog not being usable in konsole
+
+Patch provided by David Edmundson.
+
+```
+Issue is QGuiApplicationPrivate::showModalWindow
+
+it marks every other non-modal window as blocked, including new windows.
+
+when we focus the new dialog at a wayland/X level Qt gets it, but in it's own internal dispatching ignores that and sends it to the modal window
+
+Qt is smart enough to handle child windows appropriately, but only if it knows about them. Having a transient parent should take care of this. We should have this anyway as that will fix some window placement bugs.
+```
+
+BUG: 452593
+---
+ src/qtquickdialogwrapper.cpp | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/src/qtquickdialogwrapper.cpp b/src/qtquickdialogwrapper.cpp
+index 4f22b650..e31e8d80 100644
+--- a/src/qtquickdialogwrapper.cpp
++++ b/src/qtquickdialogwrapper.cpp
+@@ -7,10 +7,12 @@
+ #include "qtquickdialogwrapper.h"
+
+ #include <QEventLoop>
++#include <QGuiApplication>
+ #include <QQmlComponent>
+ #include <QQmlContext>
+ #include <QQmlEngine>
+ #include <QTimer>
++#include <QWindow>
+
+ #include <KLocalizedContext>
+
+@@ -70,6 +72,11 @@ QtQuickDialogWrapper::QtQuickDialogWrapper(const QString &configFile, QObject *p
+
+ // Forward relevant signals
+ connect(d->item, SIGNAL(closed()), this, SIGNAL(closed()));
++
++ // Otherwise, the dialog is not in front of other popups, BUG: 452593
++ auto window = qobject_cast<QWindow *>(d->item);
++ Q_ASSERT(window);
++ window->setTransientParent(QGuiApplication::focusWindow());
+ }
+ }
+
+--
+GitLab
+