1b5975d6bSopenharmony_ciFrom 221f22b6e18fdd306e676e28a79afd3697bddd03 Mon Sep 17 00:00:00 2001
2b5975d6bSopenharmony_ciFrom: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
3b5975d6bSopenharmony_ciDate: Fri, 2 Sep 2022 20:38:46 +0200
4b5975d6bSopenharmony_ciSubject: [PATCH] gdesktopappinfo: Unref the GDBus call results
5b5975d6bSopenharmony_ci
6b5975d6bSopenharmony_ciOn our GDBus call callback wrapper we were completing the gdbus call but
7b5975d6bSopenharmony_ciignoring the returned value, that was always leaked.
8b5975d6bSopenharmony_ci
9b5975d6bSopenharmony_ciFix this.
10b5975d6bSopenharmony_ci
11b5975d6bSopenharmony_ciHelps with: https://gitlab.gnome.org/GNOME/glib/-/issues/333
12b5975d6bSopenharmony_ci
13b5975d6bSopenharmony_ciConflict:NA
14b5975d6bSopenharmony_ciReference:https://gitlab.gnome.org/GNOME/glib/-/commit/221f22b6e18fdd306e676e28a79afd3697bddd03
15b5975d6bSopenharmony_ci
16b5975d6bSopenharmony_ci---
17b5975d6bSopenharmony_ci gio/gdesktopappinfo.c | 8 ++++++--
18b5975d6bSopenharmony_ci 1 file changed, 6 insertions(+), 2 deletions(-)
19b5975d6bSopenharmony_ci
20b5975d6bSopenharmony_cidiff --git a/gio/gdesktopappinfo.c b/gio/gdesktopappinfo.c
21b5975d6bSopenharmony_ciindex af2311ca52..52d308f540 100644
22b5975d6bSopenharmony_ci--- a/gio/gdesktopappinfo.c
23b5975d6bSopenharmony_ci+++ b/gio/gdesktopappinfo.c
24b5975d6bSopenharmony_ci@@ -3283,15 +3283,19 @@ launch_uris_with_dbus_cb (GObject      *object,
25b5975d6bSopenharmony_ci {
26b5975d6bSopenharmony_ci   GTask *task = G_TASK (user_data);
27b5975d6bSopenharmony_ci   GError *error = NULL;
28b5975d6bSopenharmony_ci+  GVariant *ret;
29b5975d6bSopenharmony_ci 
30b5975d6bSopenharmony_ci-  g_dbus_connection_call_finish (G_DBUS_CONNECTION (object), result, &error);
31b5975d6bSopenharmony_ci+  ret = g_dbus_connection_call_finish (G_DBUS_CONNECTION (object), result, &error);
32b5975d6bSopenharmony_ci   if (error != NULL)
33b5975d6bSopenharmony_ci     {
34b5975d6bSopenharmony_ci       g_dbus_error_strip_remote_error (error);
35b5975d6bSopenharmony_ci       g_task_return_error (task, g_steal_pointer (&error));
36b5975d6bSopenharmony_ci     }
37b5975d6bSopenharmony_ci   else
38b5975d6bSopenharmony_ci-    g_task_return_boolean (task, TRUE);
39b5975d6bSopenharmony_ci+    {
40b5975d6bSopenharmony_ci+      g_task_return_boolean (task, TRUE);
41b5975d6bSopenharmony_ci+      g_variant_unref (ret);
42b5975d6bSopenharmony_ci+    }
43b5975d6bSopenharmony_ci 
44b5975d6bSopenharmony_ci   g_object_unref (task);
45b5975d6bSopenharmony_ci }
46b5975d6bSopenharmony_ci-- 
47b5975d6bSopenharmony_ciGitLab
48b5975d6bSopenharmony_ci
49