summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2020-04-17 22:22:33 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2020-04-17 22:58:46 +0200
commit217c7b8085ffb5ce72873dab745e18074ef5f856 (patch)
tree199bfe8dceba72593575f9863467dedbca703fe0 /kde-frameworks
parentnet-irc/konversation: Drop kde-frameworks/kemoticons dependency (diff)
downloadgentoo-217c7b8085ffb5ce72873dab745e18074ef5f856.tar.gz
gentoo-217c7b8085ffb5ce72873dab745e18074ef5f856.tar.bz2
gentoo-217c7b8085ffb5ce72873dab745e18074ef5f856.zip
kde-frameworks/plasma: Fix crash w/ Qt-5.15 on panel right click
Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'kde-frameworks')
-rw-r--r--kde-frameworks/plasma/files/plasma-5.69.0-qt-5.15-crash.patch60
-rw-r--r--kde-frameworks/plasma/plasma-5.69.0-r1.ebuild77
2 files changed, 137 insertions, 0 deletions
diff --git a/kde-frameworks/plasma/files/plasma-5.69.0-qt-5.15-crash.patch b/kde-frameworks/plasma/files/plasma-5.69.0-qt-5.15-crash.patch
new file mode 100644
index 000000000000..f48b82f72234
--- /dev/null
+++ b/kde-frameworks/plasma/files/plasma-5.69.0-qt-5.15-crash.patch
@@ -0,0 +1,60 @@
+From 0417bf61d53a61879702aa6e5bc64d1da557db27 Mon Sep 17 00:00:00 2001
+From: David Edmundson <kde@davidedmundson.co.uk>
+Date: Mon, 6 Apr 2020 12:21:45 +0100
+Subject: [configview] Simplify code / workaround Qt5.15 crash
+
+Summary:
+QQmlComponent::beginCreate and completeCreate are useful if you need to
+set properties on the object explicitly. We're not doing that here, we
+can just call create.
+
+Test Plan:
+On Qt5.15
+Right click a panel
+choose edit
+
+Reviewers: #plasma, apol
+
+Reviewed By: apol
+
+Subscribers: apol, kde-frameworks-devel
+
+Tags: #frameworks
+
+Differential Revision: https://phabricator.kde.org/D28599
+---
+ src/plasmaquick/configview.cpp | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/src/plasmaquick/configview.cpp b/src/plasmaquick/configview.cpp
+index ff43753..c5e2228 100644
+--- a/src/plasmaquick/configview.cpp
++++ b/src/plasmaquick/configview.cpp
+@@ -134,9 +134,13 @@ void ConfigViewPrivate::init()
+
+ q->setResizeMode(QQuickView::SizeViewToRootObject);
+
++ auto plasmoid = applet.data()->property("_plasma_graphicObject").value<QObject *>();
++ q->engine()->rootContext()->setContextProperties({QQmlContext::PropertyPair{QStringLiteral("plasmoid"), QVariant::fromValue(plasmoid)},
++ QQmlContext::PropertyPair{QStringLiteral("configDialog"), QVariant::fromValue(q)}});
++
+ //config model local of the applet
+ QQmlComponent *component = new QQmlComponent(q->engine(), applet.data()->kPackage().fileUrl("configmodel"), q);
+- QObject *object = component->beginCreate(q->engine()->rootContext());
++ QObject *object = component->create(q->engine()->rootContext());
+ configModel = qobject_cast<ConfigModel *>(object);
+
+ if (configModel) {
+@@ -172,9 +176,6 @@ void ConfigViewPrivate::init()
+ }
+ }
+
+- q->engine()->rootContext()->setContextProperty(QStringLiteral("plasmoid"), applet.data()->property("_plasma_graphicObject").value<QObject *>());
+- q->engine()->rootContext()->setContextProperty(QStringLiteral("configDialog"), q);
+- component->completeCreate();
+ delete component;
+ }
+
+--
+cgit v1.1
+
diff --git a/kde-frameworks/plasma/plasma-5.69.0-r1.ebuild b/kde-frameworks/plasma/plasma-5.69.0-r1.ebuild
new file mode 100644
index 000000000000..7d9816e22771
--- /dev/null
+++ b/kde-frameworks/plasma/plasma-5.69.0-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+KDE_ORG_NAME="${PN}-framework"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+VIRTUALX_REQUIRED="test"
+inherit ecm kde.org
+
+DESCRIPTION="Plasma framework"
+
+LICENSE="LGPL-2+"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="gles2-only wayland X"
+
+# drop qtgui subslot operator when QT_MINIMAL >= 5.14.0
+BDEPEND="
+ >=kde-frameworks/kdoctools-${PVCUT}:5
+"
+RDEPEND="
+ >=dev-qt/qtdbus-${QTMIN}:5
+ >=dev-qt/qtdeclarative-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5=[gles2-only=]
+ >=dev-qt/qtquickcontrols-${QTMIN}:5
+ >=dev-qt/qtsql-${QTMIN}:5
+ >=dev-qt/qtsvg-${QTMIN}:5
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ =kde-frameworks/kactivities-${PVCUT}*:5
+ =kde-frameworks/karchive-${PVCUT}*:5
+ =kde-frameworks/kconfig-${PVCUT}*:5
+ =kde-frameworks/kconfigwidgets-${PVCUT}*:5
+ =kde-frameworks/kcoreaddons-${PVCUT}*:5
+ =kde-frameworks/kdeclarative-${PVCUT}*:5
+ =kde-frameworks/kglobalaccel-${PVCUT}*:5
+ =kde-frameworks/kguiaddons-${PVCUT}*:5
+ =kde-frameworks/ki18n-${PVCUT}*:5
+ =kde-frameworks/kiconthemes-${PVCUT}*:5
+ =kde-frameworks/kio-${PVCUT}*:5
+ =kde-frameworks/kirigami-${PVCUT}*:5
+ =kde-frameworks/knotifications-${PVCUT}*:5
+ =kde-frameworks/kpackage-${PVCUT}*:5
+ =kde-frameworks/kservice-${PVCUT}*:5
+ =kde-frameworks/kwidgetsaddons-${PVCUT}*:5
+ =kde-frameworks/kwindowsystem-${PVCUT}*:5
+ =kde-frameworks/kxmlgui-${PVCUT}*:5
+ !gles2-only? ( virtual/opengl )
+ wayland? (
+ =kde-frameworks/kwayland-${PVCUT}*:5
+ media-libs/mesa[egl]
+ )
+ X? (
+ >=dev-qt/qtx11extras-${QTMIN}:5
+ x11-libs/libX11
+ x11-libs/libxcb
+ )
+"
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )
+"
+
+RESTRICT+=" test"
+
+PATCHES=( "${FILESDIR}/${P}-qt-5.15-crash.patch" )
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake_use_find_package !gles2-only OpenGL)
+ $(cmake_use_find_package wayland EGL)
+ $(cmake_use_find_package wayland KF5Wayland)
+ $(cmake_use_find_package X X11)
+ $(cmake_use_find_package X XCB)
+ )
+
+ ecm_src_configure
+}