commit:     921adfef70d2c2a43ab32549f985d15e1c9d0392
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 25 07:20:56 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Sep 25 07:22:33 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=921adfef

xfce-base/xfdesktop: Backport memleak fix to 4.14.2

Closes: https://bugs.gentoo.org/744418
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 .../xfdesktop/files/xfdesktop-4.14.2-memleak.patch | 37 ++++++++++++++++++++++
 ...op-4.14.2.ebuild => xfdesktop-4.14.2-r1.ebuild} |  4 +++
 2 files changed, 41 insertions(+)

diff --git a/xfce-base/xfdesktop/files/xfdesktop-4.14.2-memleak.patch 
b/xfce-base/xfdesktop/files/xfdesktop-4.14.2-memleak.patch
new file mode 100644
index 00000000000..e99167cb91a
--- /dev/null
+++ b/xfce-base/xfdesktop/files/xfdesktop-4.14.2-memleak.patch
@@ -0,0 +1,37 @@
+From bd6cd3ce62057370a9e7c6699e52385f479e3390 Mon Sep 17 00:00:00 2001
+From: Jan Ziak <0xe2.0x9a.0...@gmail.com>
+Date: Sat, 11 Apr 2020 15:43:55 +0200
+Subject: Fix memory leak when reconnecting DP monitor (Bug #16314)
+
+Signed-off-by: Jan Ziak <0xe2.0x9a.0...@gmail.com>
+---
+ src/xfce-backdrop.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/xfce-backdrop.c b/src/xfce-backdrop.c
+index bd9180e6..955e51f8 100644
+--- a/src/xfce-backdrop.c
++++ b/src/xfce-backdrop.c
+@@ -1599,6 +1599,11 @@ xfce_backdrop_image_data_release(XfceBackdropImageData 
*image_data)
+ 
+     if(image_data->loader)
+         g_object_unref(image_data->loader);
++
++    if(image_data->backdrop) {
++        g_object_unref(image_data->backdrop);
++        image_data->backdrop = NULL;
++    }
+ }
+ 
+ /**
+@@ -1671,6 +1676,7 @@ xfce_backdrop_generate_async(XfceBackdrop *backdrop)
+     backdrop->priv->image_data = image_data;
+ 
+     image_data->backdrop = backdrop;
++    g_object_ref(backdrop);
+     image_data->loader = gdk_pixbuf_loader_new();
+     image_data->cancellable = g_cancellable_new();
+     image_data->image_buffer = g_new0(guchar, XFCE_BACKDROP_BUFFER_SIZE);
+-- 
+cgit v1.2.3
+

diff --git a/xfce-base/xfdesktop/xfdesktop-4.14.2.ebuild 
b/xfce-base/xfdesktop/xfdesktop-4.14.2-r1.ebuild
similarity index 96%
rename from xfce-base/xfdesktop/xfdesktop-4.14.2.ebuild
rename to xfce-base/xfdesktop/xfdesktop-4.14.2-r1.ebuild
index 64d22d2e74d..36257356e8c 100644
--- a/xfce-base/xfdesktop/xfdesktop-4.14.2.ebuild
+++ b/xfce-base/xfdesktop/xfdesktop-4.14.2-r1.ebuild
@@ -31,6 +31,10 @@ DEPEND="${RDEPEND}
        sys-devel/gettext
        virtual/pkgconfig"
 
+PATCHES=(
+       "${FILESDIR}"/${P}-memleak.patch
+)
+
 src_configure() {
        local myconf=(
                $(use_enable thunar file-icons)

Reply via email to