[SCM] qtdeclarative packaging branch, ubuntu, updated. ubuntu/5.4.2-1ubuntu2-20-g4713815

Timo Jyrinki timo at moszumanska.debian.org
Wed Sep 2 14:38:10 UTC 2015


Gitweb-URL: http://git.debian.org/?p=pkg-kde/qt/qtdeclarative.git;a=commitdiff;h=4713815

The following commit has been merged in the ubuntu branch:
commit 471381521365063656b26bf2bd4ccb7977def725
Author: Timo Jyrinki <timo.jyrinki at canonical.com>
Date:   Wed Sep 2 14:37:58 2015 +0000

    debian/patches/Fix-memory-leak-when-QQuickPixmapReply-Event-is-dele.patch debian/patches/Fix-memory-leak-when-using-async-image-providers.patch:
    
    * debian/patches/Fix-memory-leak-when-QQuickPixmapReply-Event-is-dele.patch
      debian/patches/Fix-memory-leak-when-using-async-image-providers.patch:
      - Fix memory leaks (LP: #1484914)
---
 debian/changelog                                   |  8 ++++
 ...leak-when-QQuickPixmapReply-Event-is-dele.patch | 55 ++++++++++++++++++++++
 ...ory-leak-when-using-async-image-providers.patch | 26 ++++++++++
 debian/patches/series                              |  2 +
 4 files changed, 91 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 34e6309..f8b2a13 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -21,6 +21,14 @@ qtdeclarative-opensource-src (5.5.0-0ubuntu1) UNRELEASED; urgency=medium
 
  -- Timo Jyrinki <timo-jyrinki at ubuntu.com>  Thu, 09 Jul 2015 11:02:34 +0000
 
+qtdeclarative-opensource-src (5.4.2-1ubuntu6) wily; urgency=medium
+
+  * debian/patches/Fix-memory-leak-when-QQuickPixmapReply-Event-is-dele.patch
+    debian/patches/Fix-memory-leak-when-using-async-image-providers.patch:
+    - Fix memory leaks (LP: #1484914)
+
+ -- Timo Jyrinki <timo-jyrinki at ubuntu.com>  Tue, 01 Sep 2015 12:02:43 +0000
+
 qtdeclarative-opensource-src (5.4.2-1ubuntu5) wily; urgency=medium
 
   * debian/patches/Don-t-change-the-currentItem-after-a-viewport-resize.patch:
diff --git a/debian/patches/Fix-memory-leak-when-QQuickPixmapReply-Event-is-dele.patch b/debian/patches/Fix-memory-leak-when-QQuickPixmapReply-Event-is-dele.patch
new file mode 100644
index 0000000..e570fc5
--- /dev/null
+++ b/debian/patches/Fix-memory-leak-when-QQuickPixmapReply-Event-is-dele.patch
@@ -0,0 +1,55 @@
+From 16916560c13bf4c096461426c37eccbc8841a13c Mon Sep 17 00:00:00 2001
+From: Albert Astals Cid <albert.astals at canonical.com>
+Date: Fri, 14 Aug 2015 15:51:43 +0200
+Subject: [PATCH] Fix memory leak when QQuickPixmapReply::Event is delete
+ before being used
+
+It can happen that QQuickPixmapReply::postReply is called, and before
+QQuickPixmapReply::event is called the object gets deleted. That means that
+the texture factory will never be deleted.
+
+To fix that we delete it in the destructor of QQuickPixmapReply::Event and set
+it to 0 in QQuickPixmapReply::event after assigning to the next data structure
+that will take care of it
+
+Change-Id: Ibea62f5a10a53cca586de7c5f03f00aabfb88b2e
+Reviewed-by: Robin Burchell <robin.burchell at viroteck.net>
+---
+ src/quick/util/qquickpixmapcache.cpp | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/src/quick/util/qquickpixmapcache.cpp b/src/quick/util/qquickpixmapcache.cpp
+index ddf2ae2..a1c9205 100644
+--- a/src/quick/util/qquickpixmapcache.cpp
++++ b/src/quick/util/qquickpixmapcache.cpp
+@@ -148,6 +148,7 @@ public:
+     class Event : public QEvent {
+     public:
+         Event(ReadError, const QString &, const QSize &, QQuickTextureFactory *factory);
++        ~Event();
+ 
+         ReadError error;
+         QString errorString;
+@@ -339,6 +340,11 @@ QQuickPixmapReply::Event::Event(ReadError e, const QString &s, const QSize &iSiz
+ {
+ }
+ 
++QQuickPixmapReply::Event::~Event()
++{
++    delete textureFactory;
++}
++
+ QNetworkAccessManager *QQuickPixmapReader::networkAccessManager()
+ {
+     if (!accessManager) {
+@@ -965,6 +971,7 @@ bool QQuickPixmapReply::event(QEvent *event)
+             data->pixmapStatus = (de->error == NoError) ? QQuickPixmap::Ready : QQuickPixmap::Error;
+             if (data->pixmapStatus == QQuickPixmap::Ready) {
+                 data->textureFactory = de->textureFactory;
++                de->textureFactory = 0;
+                 data->implicitSize = de->implicitSize;
+                 PIXMAP_PROFILE(pixmapLoadingFinished(data->url,
+                         data->textureFactory != 0 && data->textureFactory->textureSize().isValid() ?
+-- 
+2.5.0
+
diff --git a/debian/patches/Fix-memory-leak-when-using-async-image-providers.patch b/debian/patches/Fix-memory-leak-when-using-async-image-providers.patch
new file mode 100644
index 0000000..11cfc69
--- /dev/null
+++ b/debian/patches/Fix-memory-leak-when-using-async-image-providers.patch
@@ -0,0 +1,26 @@
+From 653f4d6ce5851011e52c37b01ef81c7fbc16c26c Mon Sep 17 00:00:00 2001
+From: Albert Astals Cid <albert.astals at canonical.com>
+Date: Fri, 14 Aug 2015 14:49:54 +0200
+Subject: [PATCH] Fix memory leak when using async image providers
+
+Change-Id: I08392ab0a3edb1ac162110ebc349ad457800c788
+Reviewed-by: Robin Burchell <robin.burchell at viroteck.net>
+---
+ src/quick/util/qquickpixmapcache.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/quick/util/qquickpixmapcache.cpp b/src/quick/util/qquickpixmapcache.cpp
+index 6f6e91e..a77bfd1 100644
+--- a/src/quick/util/qquickpixmapcache.cpp
++++ b/src/quick/util/qquickpixmapcache.cpp
+@@ -579,6 +579,7 @@ void QQuickPixmapReader::processJobs()
+                     if (asyncResponse) {
+                         asyncResponses.remove(asyncResponse);
+                         asyncResponse->cancel();
++                        asyncResponse->deleteLater();
+                     }
+                 }
+                 PIXMAP_PROFILE(pixmapStateChanged<QQuickProfiler::PixmapLoadingError>(job->url));
+-- 
+2.5.0
+
diff --git a/debian/patches/series b/debian/patches/series
index d1baf8d..7c7f5a5 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,6 +2,8 @@
 Make-sure-we-stop-animators-if-they-are-yet-to-be-st.patch
 Add-QQuickAsyncImageProvider.patch
 Don-t-change-the-currentItem-after-a-viewport-resize.patch
+Fix-memory-leak-when-using-async-image-providers.patch
+Fix-memory-leak-when-QQuickPixmapReply-Event-is-dele.patch
 
 # Ubuntu patches
 fix_binary_location_for_tests.patch

-- 
qtdeclarative packaging



More information about the pkg-kde-commits mailing list