summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'xfce-base/xfdesktop/files/xfdesktop-4.14.2-memleak.patch')
-rw-r--r--xfce-base/xfdesktop/files/xfdesktop-4.14.2-memleak.patch37
1 files changed, 37 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
+