Ubuntu Pastebin

Paste from ubuntu at Mon, 23 Mar 2015 14:04:12 +0000

Download as text
 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
59
60
61
62
63
64
65
66
=== modified file 'debian/changelog'
--- debian/changelog	2014-10-14 03:55:29 +0000
+++ debian/changelog	2015-03-19 10:47:00 +0000
@@ -1,3 +1,10 @@
+qtdeclarative-opensource-src (5.3.0-3ubuntu15~rtm1) 14.09; urgency=medium
+
+  * debian/patches/Always-remove-reply-from-replies-when-processing-can.patch:
+    - Fix crasher (LP: #1431798)
+
+ -- Timo Jyrinki <timo-jyrinki@ubuntu.com>  Thu, 19 Mar 2015 10:46:58 +0000
+
 qtdeclarative-opensource-src (5.3.0-3ubuntu14~test3) 14.09; urgency=medium
 
    * debian/patches/QML-Compilation-unit-caching-and-JIT-changes.patch:

=== added file 'debian/patches/Always-remove-reply-from-replies-when-processing-can.patch'
--- debian/patches/Always-remove-reply-from-replies-when-processing-can.patch	1970-01-01 00:00:00 +0000
+++ debian/patches/Always-remove-reply-from-replies-when-processing-can.patch	2015-03-19 10:45:03 +0000
@@ -0,0 +1,38 @@
+From 840f48fd8615cf4325bf9e6db810ba0d2304e3e7 Mon Sep 17 00:00:00 2001
+From: Albert Astals Cid <albert.astals@canonical.com>
+Date: Mon, 16 Mar 2015 17:46:57 +0100
+Subject: [PATCH] Always remove reply from replies when processing cancelled
+
+Otherwise we if we leave the entry in replies later
+QQuickPixmapReader::networkRequestDone
+will give a potentially already deleted pointer in replies.take(reply)
+which will then crash when trying to post something to it
+
+Change-Id: I157a58e3ebe0a3fd6422742843eafbbdc58a7801
+---
+ src/quick/util/qquickpixmapcache.cpp | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/src/quick/util/qquickpixmapcache.cpp b/src/quick/util/qquickpixmapcache.cpp
+index 22ed9b7..42e6b81 100644
+--- a/src/quick/util/qquickpixmapcache.cpp
++++ b/src/quick/util/qquickpixmapcache.cpp
+@@ -522,10 +522,12 @@ void QQuickPixmapReader::processJobs()
+             for (int i = 0; i < cancelled.count(); ++i) {
+                 QQuickPixmapReply *job = cancelled.at(i);
+                 QNetworkReply *reply = replies.key(job, 0);
+-                if (reply && reply->isRunning()) {
+-                    // cancel any jobs already started
++                if (reply) {
+                     replies.remove(reply);
+-                    reply->close();
++                    if (reply->isRunning()) {
++                        // cancel any jobs already started
++                        reply->close();
++                    }
+                 }
+                 // deleteLater, since not owned by this thread
+                 job->deleteLater();
+-- 
+2.1.4
+

=== modified file 'debian/patches/series'
--- debian/patches/series	2014-10-06 11:21:49 +0000
+++ debian/patches/series	2015-03-19 10:40:57 +0000
@@ -15,3 +15,4 @@
 Fix-bindings-to-when-property-of-States-not-always-w.patch
 Fix-crash-in-QObjectWrapper.patch
 QML-Compilation-unit-caching-and-JIT-changes.patch
+Always-remove-reply-from-replies-when-processing-can.patch
Download as text