Hello community,

here is the log from the commit of package kwin5 for openSUSE:Factory checked 
in at 2019-12-25 10:54:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kwin5 (Old)
 and      /work/SRC/openSUSE:Factory/.kwin5.new.6675 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kwin5"

Wed Dec 25 10:54:45 2019 rev:111 rq:759007 version:5.17.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/kwin5/kwin5.changes      2019-12-11 
12:07:39.856676270 +0100
+++ /work/SRC/openSUSE:Factory/.kwin5.new.6675/kwin5.changes    2019-12-25 
10:55:10.753636408 +0100
@@ -1,0 +2,6 @@
+Mon Dec 23 14:34:58 UTC 2019 - Fabian Vogt <[email protected]>
+
+- Add patch to fix crash in systemsettings (kde#411166):
+  * 0001-Possible-fix-for-KDecoration-crash-in-systemsettings.patch
+
+-------------------------------------------------------------------

New:
----
  0001-Possible-fix-for-KDecoration-crash-in-systemsettings.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kwin5.spec ++++++
--- /var/tmp/diff_new_pack.hWK0oW/_old  2019-12-25 10:55:11.433636621 +0100
+++ /var/tmp/diff_new_pack.hWK0oW/_new  2019-12-25 10:55:11.433636621 +0100
@@ -36,6 +36,8 @@
 Source1:        
https://download.kde.org/stable/plasma/%{version}/kwin-%{version}.tar.xz.sig
 Source2:        plasma.keyring
 %endif
+# PATCH-FIX-UPSTREAM
+Patch1:         0001-Possible-fix-for-KDecoration-crash-in-systemsettings.patch
 # PATCH-FIX-OPENSUSE
 Patch100:       0001-Revert-Make-WindowSwitching-Alt-Tab-the-default-left.patch
 # PATCH-FEATURE-OPENSUSE

++++++ 0001-Possible-fix-for-KDecoration-crash-in-systemsettings.patch ++++++
>From c3d6bd7c5a1b41df9dbe82d6b8ebedd4666b0dbb Mon Sep 17 00:00:00 2001
From: David Edmundson <[email protected]>
Date: Sat, 14 Dec 2019 16:08:16 +0100
Subject: [PATCH] Possible fix for KDecoration crash in systemsettings

Summary:
I could never reproduce the crash, but we know from gdb that it's from
the decorationSettings object

We are setting the same QObject instance as a context property in
multiple contexts at once. This is already slightly odd especially from the POV 
of
Qt's internal property cache.

Given we want one object to be exposed to all contexts, we can expose it
to the parent context only once and achieve the same result in a simpler
way.

BUG: 411166

Test Plan:
Verified opening and closing system settings still worked for me.
I could never reproduce the original crash.

Reviewers: #kwin, ngraham

Reviewed By: ngraham

Subscribers: ngraham, apol, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D25913
---
 plugins/kdecorations/aurorae/src/aurorae.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/plugins/kdecorations/aurorae/src/aurorae.cpp 
b/plugins/kdecorations/aurorae/src/aurorae.cpp
index f3ad05961..c37f00ee2 100644
--- a/plugins/kdecorations/aurorae/src/aurorae.cpp
+++ b/plugins/kdecorations/aurorae/src/aurorae.cpp
@@ -262,6 +262,7 @@ Decoration::Decoration(QObject *parent, const QVariantList 
&args)
 {
     m_themeName = findTheme(args);
     Helper::instance().ref();
+    
Helper::instance().rootContext()->setContextProperty(QStringLiteral("decorationSettings"),
 settings().data());
 }
 
 Decoration::~Decoration()
@@ -289,7 +290,6 @@ void Decoration::init()
 
     m_qmlContext = new QQmlContext(Helper::instance().rootContext(), this);
     m_qmlContext->setContextProperty(QStringLiteral("decoration"), this);
-    m_qmlContext->setContextProperty(QStringLiteral("decorationSettings"), 
s.data());
     auto component = Helper::instance().component(m_themeName);
     if (!component) {
         return;
-- 
2.23.0




Reply via email to