From 217c7b8085ffb5ce72873dab745e18074ef5f856 Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Fri, 17 Apr 2020 22:22:33 +0200 Subject: 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 --- .../plasma/files/plasma-5.69.0-qt-5.15-crash.patch | 60 +++++++++++++++++ kde-frameworks/plasma/plasma-5.69.0-r1.ebuild | 77 ++++++++++++++++++++++ 2 files changed, 137 insertions(+) create mode 100644 kde-frameworks/plasma/files/plasma-5.69.0-qt-5.15-crash.patch create mode 100644 kde-frameworks/plasma/plasma-5.69.0-r1.ebuild (limited to 'kde-frameworks/plasma') 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 +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(); ++ 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(object); + + if (configModel) { +@@ -172,9 +176,6 @@ void ConfigViewPrivate::init() + } + } + +- q->engine()->rootContext()->setContextProperty(QStringLiteral("plasmoid"), applet.data()->property("_plasma_graphicObject").value()); +- 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 +} -- cgit v1.2.3-65-gdbad