diff options
Diffstat (limited to 'kde-frameworks/plasma/files')
-rw-r--r-- | kde-frameworks/plasma/files/plasma-5.69.0-qt-5.15-crash.patch | 60 |
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 + |