commit:     959e68fde158b58b374e27c7f171831e96096366
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 27 17:57:24 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Nov 27 18:02:45 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=959e68fd

kde-frameworks/kguiaddons: Don't try to access QDBusMessage if not ...

... successful reply

Upstream commit 91c23a57f39103201d305480eb24039942a376ad

Closes: https://bugs.gentoo.org/944927
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 ...kguiaddons-6.7.0-dont-access-QDBusMessage.patch | 42 +++++++++++++++++
 .../kguiaddons/kguiaddons-6.7.0-r1.ebuild          | 52 ++++++++++++++++++++++
 .../kguiaddons/kguiaddons-6.8.0-r1.ebuild          | 52 ++++++++++++++++++++++
 3 files changed, 146 insertions(+)

diff --git 
a/kde-frameworks/kguiaddons/files/kguiaddons-6.7.0-dont-access-QDBusMessage.patch
 
b/kde-frameworks/kguiaddons/files/kguiaddons-6.7.0-dont-access-QDBusMessage.patch
new file mode 100644
index 000000000000..c55d0a57ccf4
--- /dev/null
+++ 
b/kde-frameworks/kguiaddons/files/kguiaddons-6.7.0-dont-access-QDBusMessage.patch
@@ -0,0 +1,42 @@
+From 91c23a57f39103201d305480eb24039942a376ad Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Julius=20K=C3=BCnzel?= <[email protected]>
+Date: Sat, 2 Nov 2024 17:17:09 +0100
+Subject: [PATCH] Don't try to access QDBusMessage if not successful reply
+
+In case it is a ErrorMessage the arguments QList is empty and calling
+reply.first() will cause a crash
+---
+ src/colors/kcolorschemewatcher_xdg.cpp | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/src/colors/kcolorschemewatcher_xdg.cpp 
b/src/colors/kcolorschemewatcher_xdg.cpp
+index 60693ad..535a54e 100644
+--- a/src/colors/kcolorschemewatcher_xdg.cpp
++++ b/src/colors/kcolorschemewatcher_xdg.cpp
+@@ -8,6 +8,7 @@
+ 
+ #include <QDBusConnection>
+ #include <QDBusMessage>
++#include <QDBusReply>
+ #include <QDBusVariant>
+ #include <QDebug>
+ 
+@@ -27,10 +28,12 @@ KColorSchemeWatcherXDG::KColorSchemeWatcherXDG()
+                                                     QStringLiteral("Read"));
+     m.setArguments({QStringLiteral("org.freedesktop.appearance"), 
QStringLiteral("color-scheme")});
+ 
+-    auto reply = QDBusConnection::sessionBus().call(m);
++    QDBusReply<QDBusVariant> reply = QDBusConnection::sessionBus().call(m);
+ 
+-    const uint result = 
reply.arguments().first().value<QDBusVariant>().variant().value<QDBusVariant>().variant().toUInt();
+-    m_preference = fdoToInternal(result);
++    if (reply.isValid()) {
++        const uint result = reply.value().variant().toUInt();
++        m_preference = fdoToInternal(result);
++    }
+ }
+ 
+ KColorSchemeWatcher::ColorPreference 
KColorSchemeWatcherXDG::systemPreference() const
+-- 
+GitLab
+

diff --git a/kde-frameworks/kguiaddons/kguiaddons-6.7.0-r1.ebuild 
b/kde-frameworks/kguiaddons/kguiaddons-6.7.0-r1.ebuild
new file mode 100644
index 000000000000..2380592d3ddc
--- /dev/null
+++ b/kde-frameworks/kguiaddons/kguiaddons-6.7.0-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_NONGUI="false"
+QTMIN=6.6.2
+inherit ecm frameworks.kde.org
+
+DESCRIPTION="Framework providing assorted high-level user interface components"
+
+LICENSE="LGPL-2+"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="dbus wayland X"
+
+# slot op: includes qpa/qplatformnativeinterface.h
+COMMON_DEPEND="
+       >=dev-qt/qtbase-${QTMIN}:6[dbus?,gui]
+       >=dev-qt/qtdeclarative-${QTMIN}:6
+       wayland? (
+               dev-libs/wayland
+               >=dev-qt/qtbase-${QTMIN}:6=[wayland]
+               >=dev-qt/qtwayland-${QTMIN}:6
+       )
+       X? (
+               >=dev-qt/qtbase-${QTMIN}:6[X]
+               x11-libs/libX11
+       )
+"
+DEPEND="${COMMON_DEPEND}
+       wayland? ( >=dev-libs/plasma-wayland-protocols-1.11.1 )
+       X? (
+               x11-base/xorg-proto
+               x11-libs/libxcb
+       )
+"
+RDEPEND="${COMMON_DEPEND}
+       !${CATEGORY}/${PN}:5[-kf6compat(-)]
+"
+BDEPEND="wayland? ( >=dev-qt/qtwayland-${QTMIN}:6 )"
+
+PATCHES=( "${FILESDIR}/${P}-dont-access-QDBusMessage.patch" ) # bug 944927
+
+src_configure() {
+       local mycmakeargs=(
+               -DBUILD_GEO_SCHEME_HANDLER=ON
+               -DUSE_DBUS=$(usex dbus)
+               -DWITH_WAYLAND=$(usex wayland)
+               -DWITH_X11=$(usex X)
+       )
+       ecm_src_configure
+}

diff --git a/kde-frameworks/kguiaddons/kguiaddons-6.8.0-r1.ebuild 
b/kde-frameworks/kguiaddons/kguiaddons-6.8.0-r1.ebuild
new file mode 100644
index 000000000000..fd1f55fe7b9d
--- /dev/null
+++ b/kde-frameworks/kguiaddons/kguiaddons-6.8.0-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_NONGUI="false"
+QTMIN=6.7.2
+inherit ecm frameworks.kde.org
+
+DESCRIPTION="Framework providing assorted high-level user interface components"
+
+LICENSE="LGPL-2+"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="dbus wayland X"
+
+# slot op: includes qpa/qplatformnativeinterface.h
+COMMON_DEPEND="
+       >=dev-qt/qtbase-${QTMIN}:6[dbus?,gui]
+       >=dev-qt/qtdeclarative-${QTMIN}:6
+       wayland? (
+               dev-libs/wayland
+               >=dev-qt/qtbase-${QTMIN}:6=[wayland]
+               >=dev-qt/qtwayland-${QTMIN}:6
+       )
+       X? (
+               >=dev-qt/qtbase-${QTMIN}:6[X]
+               x11-libs/libX11
+       )
+"
+DEPEND="${COMMON_DEPEND}
+       wayland? ( >=dev-libs/plasma-wayland-protocols-1.11.1 )
+       X? (
+               x11-base/xorg-proto
+               x11-libs/libxcb
+       )
+"
+RDEPEND="${COMMON_DEPEND}
+       !${CATEGORY}/${PN}:5[-kf6compat(-)]
+"
+BDEPEND="wayland? ( >=dev-qt/qtwayland-${QTMIN}:6 )"
+
+PATCHES=( "${FILESDIR}/${PN}-6.7.0-dont-access-QDBusMessage.patch" ) # bug 
944927
+
+src_configure() {
+       local mycmakeargs=(
+               -DBUILD_GEO_SCHEME_HANDLER=ON
+               -DUSE_DBUS=$(usex dbus)
+               -DWITH_WAYLAND=$(usex wayland)
+               -DWITH_X11=$(usex X)
+       )
+       ecm_src_configure
+}

Reply via email to