summaryrefslogtreecommitdiff
path: root/kde-frameworks/plasma/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-04-25 11:37:10 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-04-25 11:37:10 +0100
commit38423c67c8a23f6a1bc42038193182e2da3116eb (patch)
tree04e2cf4bd43601b77daa79fe654e409187093c5e /kde-frameworks/plasma/files
parent623ee73d661e5ed8475cb264511f683407d87365 (diff)
gentoo resync : 25.04.2020
Diffstat (limited to 'kde-frameworks/plasma/files')
-rw-r--r--kde-frameworks/plasma/files/plasma-5.69.0-qt-5.15-crash.patch60
1 files changed, 60 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
+