summaryrefslogtreecommitdiff
path: root/user/plasma-workspace/fix-crash-on-wallpaper-change.patch
blob: 078a48e3a81e47acdf6812bd587b188bcb61c9c8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
From a44d84ef47492ca60ee608996b5ab1f2849ef16e Mon Sep 17 00:00:00 2001
From: David Edmundson <kde@davidedmundson.co.uk>
Date: Mon, 14 Aug 2017 10:04:19 +0100
Subject: Don't change fillMode of image just before deleting it

It is still set for when a source is applied for the next
transistion.

Summary:
This saves evaluating a new paintedSize and doing a bunch of evaluations
which are not used.

More importantly it works round a Qt animation crash.

fadeAnim.running is bound to otherImage.status !== loading

with the intention of delaying animations until the images are really
loaded.

By setting the fill mode and then the source, we go to loading and back,
effectively restarting the animation from within the animation.
This leads to a crash.

CCBUG: 381105

Test Plan:
End user result is the same.

Reviewers: #plasma, broulik, mart

Reviewed By: #plasma, broulik, mart

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D7248
---
 wallpapers/image/imagepackage/contents/ui/main.qml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/wallpapers/image/imagepackage/contents/ui/main.qml b/wallpapers/image/imagepackage/contents/ui/main.qml
index fc22176..0539f37 100644
--- a/wallpapers/image/imagepackage/contents/ui/main.qml
+++ b/wallpapers/image/imagepackage/contents/ui/main.qml
@@ -193,8 +193,8 @@ Item {
         }
         ScriptAction {
             script: {
-                otherImage.fillMode = fillMode;
                 otherImage.source = "";
+                otherImage.fillMode = fillMode;
             }
         }
     }
-- 
cgit v0.11.2