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