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

@ -260,7 +260,7 @@ g_action_group_default_init (GActionGroupInterface *iface)
G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED,
G_STRUCT_OFFSET (GActionGroupInterface, action_added),
NULL, NULL,
g_cclosure_marshal_VOID__STRING,
NULL,
G_TYPE_NONE, 1,
G_TYPE_STRING);
@ -281,7 +281,7 @@ g_action_group_default_init (GActionGroupInterface *iface)
G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED,
G_STRUCT_OFFSET (GActionGroupInterface, action_removed),
NULL, NULL,
g_cclosure_marshal_VOID__STRING,
NULL,
G_TYPE_NONE, 1,
G_TYPE_STRING);

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);
/**

View File

@ -141,7 +141,7 @@ g_cancellable_class_init (GCancellableClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GCancellableClass, cancelled),
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
NULL,
G_TYPE_NONE, 0);
}

View File

@ -1714,7 +1714,7 @@ g_dbus_daemon_class_init (GDBusDaemonClass *klass)
G_SIGNAL_RUN_LAST,
0,
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
NULL,
G_TYPE_NONE, 0);
g_object_class_install_property (gobject_class,

View File

@ -65,7 +65,7 @@ g_dbus_object_default_init (GDBusObjectIface *iface)
G_STRUCT_OFFSET (GDBusObjectIface, interface_added),
NULL,
NULL,
g_cclosure_marshal_VOID__OBJECT,
NULL,
G_TYPE_NONE,
1,
G_TYPE_DBUS_INTERFACE);
@ -85,7 +85,7 @@ g_dbus_object_default_init (GDBusObjectIface *iface)
G_STRUCT_OFFSET (GDBusObjectIface, interface_removed),
NULL,
NULL,
g_cclosure_marshal_VOID__OBJECT,
NULL,
G_TYPE_NONE,
1,
G_TYPE_DBUS_INTERFACE);

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);

View File

@ -78,7 +78,7 @@ g_drive_default_init (GDriveInterface *iface)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GDriveIface, changed),
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
NULL,
G_TYPE_NONE, 0);
/**
@ -95,7 +95,7 @@ g_drive_default_init (GDriveInterface *iface)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GDriveIface, disconnected),
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
NULL,
G_TYPE_NONE, 0);
/**
@ -110,7 +110,7 @@ g_drive_default_init (GDriveInterface *iface)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GDriveIface, eject_button),
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
NULL,
G_TYPE_NONE, 0);
/**
@ -127,7 +127,7 @@ g_drive_default_init (GDriveInterface *iface)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GDriveIface, stop_button),
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
NULL,
G_TYPE_NONE, 0);
}

View File

@ -105,7 +105,7 @@ g_filename_completer_class_init (GFilenameCompleterClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GFilenameCompleterClass, got_completion_data),
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
NULL,
G_TYPE_NONE, 0);
}

View File

@ -78,7 +78,7 @@ g_mount_default_init (GMountInterface *iface)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GMountIface, changed),
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
NULL,
G_TYPE_NONE, 0);
/**
@ -95,7 +95,7 @@ g_mount_default_init (GMountInterface *iface)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GMountIface, unmounted),
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
NULL,
G_TYPE_NONE, 0);
/**
* GMount::pre-unmount:
@ -114,7 +114,7 @@ g_mount_default_init (GMountInterface *iface)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GMountIface, pre_unmount),
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
NULL,
G_TYPE_NONE, 0);
}

View File

@ -361,7 +361,7 @@ g_mount_operation_class_init (GMountOperationClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GMountOperationClass, reply),
NULL, NULL,
g_cclosure_marshal_VOID__ENUM,
NULL,
G_TYPE_NONE, 1,
G_TYPE_MOUNT_OPERATION_RESULT);
@ -382,7 +382,7 @@ g_mount_operation_class_init (GMountOperationClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GMountOperationClass, aborted),
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
NULL,
G_TYPE_NONE, 0);
/**

View File

@ -321,7 +321,7 @@ g_network_monitor_default_init (GNetworkMonitorInterface *iface)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GNetworkMonitorInterface, network_changed),
NULL, NULL,
g_cclosure_marshal_VOID__BOOLEAN,
NULL,
G_TYPE_NONE, 1,
G_TYPE_BOOLEAN);

View File

@ -169,7 +169,7 @@ g_resolver_class_init (GResolverClass *resolver_class)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GResolverClass, reload),
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
NULL,
G_TYPE_NONE, 0);
}

View File

@ -743,7 +743,7 @@ g_settings_class_init (GSettingsClass *class)
g_signal_new (I_("changed"), G_TYPE_SETTINGS,
G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED,
G_STRUCT_OFFSET (GSettingsClass, changed),
NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE,
NULL, NULL, NULL, G_TYPE_NONE,
1, G_TYPE_STRING | G_SIGNAL_TYPE_STATIC_SCOPE);
/**
@ -797,7 +797,7 @@ g_settings_class_init (GSettingsClass *class)
g_signal_new (I_("writable-changed"), G_TYPE_SETTINGS,
G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED,
G_STRUCT_OFFSET (GSettingsClass, writable_changed),
NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE,
NULL, NULL, NULL, G_TYPE_NONE,
1, G_TYPE_STRING | G_SIGNAL_TYPE_STATIC_SCOPE);
/**

View File

@ -395,7 +395,7 @@ g_simple_action_class_init (GSimpleActionClass *class)
G_TYPE_SIMPLE_ACTION,
G_SIGNAL_RUN_LAST | G_SIGNAL_MUST_COLLECT,
0, NULL, NULL,
g_cclosure_marshal_VOID__VARIANT,
NULL,
G_TYPE_NONE, 1,
G_TYPE_VARIANT);
@ -445,7 +445,7 @@ g_simple_action_class_init (GSimpleActionClass *class)
G_TYPE_SIMPLE_ACTION,
G_SIGNAL_RUN_LAST | G_SIGNAL_MUST_COLLECT,
0, NULL, NULL,
g_cclosure_marshal_VOID__VARIANT,
NULL,
G_TYPE_NONE, 1,
G_TYPE_VARIANT);

View File

@ -1929,7 +1929,7 @@ g_unix_mount_monitor_class_init (GUnixMountMonitorClass *klass)
G_SIGNAL_RUN_LAST,
0,
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
NULL,
G_TYPE_NONE, 0);
/**
@ -1944,7 +1944,7 @@ g_unix_mount_monitor_class_init (GUnixMountMonitorClass *klass)
G_SIGNAL_RUN_LAST,
0,
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
NULL,
G_TYPE_NONE, 0);
}

View File

@ -93,7 +93,7 @@ g_volume_default_init (GVolumeInterface *iface)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeIface, changed),
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
NULL,
G_TYPE_NONE, 0);
/**
@ -108,7 +108,7 @@ g_volume_default_init (GVolumeInterface *iface)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeIface, removed),
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
NULL,
G_TYPE_NONE, 0);
}

View File

@ -94,7 +94,7 @@ g_volume_monitor_class_init (GVolumeMonitorClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeMonitorClass, volume_added),
NULL, NULL,
g_cclosure_marshal_VOID__OBJECT,
NULL,
G_TYPE_NONE, 1, G_TYPE_VOLUME);
/**
@ -109,7 +109,7 @@ g_volume_monitor_class_init (GVolumeMonitorClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeMonitorClass, volume_removed),
NULL, NULL,
g_cclosure_marshal_VOID__OBJECT,
NULL,
G_TYPE_NONE, 1, G_TYPE_VOLUME);
/**
@ -124,7 +124,7 @@ g_volume_monitor_class_init (GVolumeMonitorClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeMonitorClass, volume_changed),
NULL, NULL,
g_cclosure_marshal_VOID__OBJECT,
NULL,
G_TYPE_NONE, 1, G_TYPE_VOLUME);
/**
@ -139,7 +139,7 @@ g_volume_monitor_class_init (GVolumeMonitorClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeMonitorClass, mount_added),
NULL, NULL,
g_cclosure_marshal_VOID__OBJECT,
NULL,
G_TYPE_NONE, 1, G_TYPE_MOUNT);
/**
@ -154,7 +154,7 @@ g_volume_monitor_class_init (GVolumeMonitorClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeMonitorClass, mount_removed),
NULL, NULL,
g_cclosure_marshal_VOID__OBJECT,
NULL,
G_TYPE_NONE, 1, G_TYPE_MOUNT);
/**
@ -172,7 +172,7 @@ g_volume_monitor_class_init (GVolumeMonitorClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeMonitorClass, mount_pre_unmount),
NULL, NULL,
g_cclosure_marshal_VOID__OBJECT,
NULL,
G_TYPE_NONE, 1, G_TYPE_MOUNT);
/**
@ -187,7 +187,7 @@ g_volume_monitor_class_init (GVolumeMonitorClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeMonitorClass, mount_changed),
NULL, NULL,
g_cclosure_marshal_VOID__OBJECT,
NULL,
G_TYPE_NONE, 1, G_TYPE_MOUNT);
/**
@ -202,7 +202,7 @@ g_volume_monitor_class_init (GVolumeMonitorClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeMonitorClass, drive_connected),
NULL, NULL,
g_cclosure_marshal_VOID__OBJECT,
NULL,
G_TYPE_NONE, 1, G_TYPE_DRIVE);
/**
@ -217,7 +217,7 @@ g_volume_monitor_class_init (GVolumeMonitorClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeMonitorClass, drive_disconnected),
NULL, NULL,
g_cclosure_marshal_VOID__OBJECT,
NULL,
G_TYPE_NONE, 1, G_TYPE_DRIVE);
/**
@ -232,7 +232,7 @@ g_volume_monitor_class_init (GVolumeMonitorClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeMonitorClass, drive_changed),
NULL, NULL,
g_cclosure_marshal_VOID__OBJECT,
NULL,
G_TYPE_NONE, 1, G_TYPE_DRIVE);
/**
@ -249,7 +249,7 @@ g_volume_monitor_class_init (GVolumeMonitorClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeMonitorClass, drive_eject_button),
NULL, NULL,
g_cclosure_marshal_VOID__OBJECT,
NULL,
G_TYPE_NONE, 1, G_TYPE_DRIVE);
/**
@ -266,7 +266,7 @@ g_volume_monitor_class_init (GVolumeMonitorClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeMonitorClass, drive_stop_button),
NULL, NULL,
g_cclosure_marshal_VOID__OBJECT,
NULL,
G_TYPE_NONE, 1, G_TYPE_DRIVE);
}