Bug#1034149: marked as done (unblock: glib2.0/2.74.6-2) (2/2)
From
Debian Bug Tracking System@21:1/5 to
All on Wed Apr 12 19:10:01 2023
[continued from previous message]
g_source_set_static_name (idle_source, "[gio, " __FILE__ "] call_in_idle_cb");
g_source_attach (idle_source, main_context);
diff -Nru glib2.0-2.74.6/gio/gdbusinterfaceskeleton.c glib2.0-2.74.6/gio/gdbusinterfaceskeleton.c
--- glib2.0-2.74.6/gio/gdbusinterfaceskeleton.c 2023-02-23 13:54:27.000000000 +0000
+++ glib2.0-2.74.6/gio/gdbusinterfaceskeleton.c 2023-04-10 13:09:07.000000000 +0100
@@ -461,16 +461,18 @@
typedef struct
{
gint ref_count; /* (atomic) */
- GDBusInterfaceSkeleton *interface;
GDBusInterfaceMethodCallFunc method_call_func;
- GDBusMethodInvocation *invocation;
+ GDBusMethodInvocation *invocation; /* (owned) */
} DispatchData;
static void
dispatch_data_unref (DispatchData *data)
{
if (g_atomic_int_dec_and_test (&data->ref_count))
- g_slice_free (DispatchData, data);
+ {
+ g_clear_object (&data->invocation);
+ g_slice_free (DispatchData, data);
+ }
}
static DispatchData *
@@ -502,16 +504,17 @@
GCancellable *cancellable)
{
DispatchData *data = task_data;
+ GDBusInterfaceSkeleton *interface = g_task_get_source_object (task);
GDBusInterfaceSkeletonFlags flags;
GDBusObject *object;
gboo