summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2020-09-25 09:20:56 +0200
committerMichał Górny <mgorny@gentoo.org>2020-09-25 09:22:33 +0200
commit921adfef70d2c2a43ab32549f985d15e1c9d0392 (patch)
tree2fae8ba6fb65465ba332697dae46a26bc3319561 /xfce-base
parentdev-python/aiorpcX: Port to py3.8 (diff)
downloadgentoo-921adfef70d2c2a43ab32549f985d15e1c9d0392.tar.gz
gentoo-921adfef70d2c2a43ab32549f985d15e1c9d0392.tar.bz2
gentoo-921adfef70d2c2a43ab32549f985d15e1c9d0392.zip
xfce-base/xfdesktop: Backport memleak fix to 4.14.2
Closes: https://bugs.gentoo.org/744418 Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'xfce-base')
-rw-r--r--xfce-base/xfdesktop/files/xfdesktop-4.14.2-memleak.patch37
-rw-r--r--xfce-base/xfdesktop/xfdesktop-4.14.2-r1.ebuild (renamed from xfce-base/xfdesktop/xfdesktop-4.14.2.ebuild)4
2 files changed, 41 insertions, 0 deletions
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 000000000000..e99167cb91af
--- /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.0x9b@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.0x9b@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
index 64d22d2e74d8..36257356e8ca 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)