gdesktopappinfo: Unref GDBus call result GVariant if no callback is set

When launching URIs via dbus we may ignore the callback if one was not
provided, however in such case we were also leaking the return value for
the gdbus call.

Unref it properly.

Helps with: https://gitlab.gnome.org/GNOME/glib/-/issues/333

(cherry-picked from commit 026a69905eec18e9ea0486ea351496e461c8681e)
This commit is contained in:
Marco Trevisan (Treviño) 2022-09-02 20:34:21 +02:00
parent ab47152bfa
commit b918a257ff

View File

@ -3107,6 +3107,9 @@ launch_uris_with_dbus_signal_cb (GObject *object,
if (data->callback)
data->callback (object, result, data->user_data);
else if (!g_task_had_error (G_TASK (result)))
g_variant_unref (g_dbus_connection_call_finish (G_DBUS_CONNECTION (object),
result, NULL));
launch_uris_with_dbus_data_free (data);
}