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

@@ -1532,7 +1532,7 @@ g_application_class_init (GApplicationClass *class)
g_application_signals[SIGNAL_STARTUP] =
g_signal_new (I_("startup"), G_TYPE_APPLICATION, G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (GApplicationClass, startup),
NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
NULL, NULL, NULL, G_TYPE_NONE, 0);
/**
* GApplication::shutdown:
@@ -1544,7 +1544,7 @@ g_application_class_init (GApplicationClass *class)
g_application_signals[SIGNAL_SHUTDOWN] =
g_signal_new (I_("shutdown"), G_TYPE_APPLICATION, G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GApplicationClass, shutdown),
NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
NULL, NULL, NULL, G_TYPE_NONE, 0);
/**
* GApplication::activate:
@@ -1556,7 +1556,7 @@ g_application_class_init (GApplicationClass *class)
g_application_signals[SIGNAL_ACTIVATE] =
g_signal_new (I_("activate"), G_TYPE_APPLICATION, G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GApplicationClass, activate),
NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
NULL, NULL, NULL, G_TYPE_NONE, 0);
/**