gio: ensure default va_marshaller is used

If c_marshaller is provided during g_signal_new() registration, the
automatic va_marshaller will not be set. If we leave the c_marshaller as
NULL in the simple cases, both a c_marshaller and va_marshaller will be
set for us.

This is particularly helpful when dealing with stack traces from Linux
perf, which often cannot unwind the stack beyond the ffi_call_unix64
stack-frame on x86_64.

Related to GNOME/Initiatives#10
This commit is contained in:
Christian Hergert
2019-05-30 19:13:37 -07:00
parent 2a4b5caac2
commit 273c00f620
17 changed files with 43 additions and 43 deletions

View File

@@ -80,7 +80,7 @@ g_dbus_object_manager_default_init (GDBusObjectManagerIface *iface)
G_STRUCT_OFFSET (GDBusObjectManagerIface, object_added),
NULL,
NULL,
g_cclosure_marshal_VOID__OBJECT,
NULL,
G_TYPE_NONE,
1,
G_TYPE_DBUS_OBJECT);
@@ -101,7 +101,7 @@ g_dbus_object_manager_default_init (GDBusObjectManagerIface *iface)
G_STRUCT_OFFSET (GDBusObjectManagerIface, object_removed),
NULL,
NULL,
g_cclosure_marshal_VOID__OBJECT,
NULL,
G_TYPE_NONE,
1,
G_TYPE_DBUS_OBJECT);