diff options
author | Matthias Clasen <mclasen@redhat.com> | 2023-05-13 09:21:48 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2023-05-13 11:15:49 -0400 |
commit | ff330668cfee65c9b969911adb16f7d5a2bb6749 (patch) | |
tree | 806899942988805378f3d163c9e95217028bef37 | |
parent | 63f9e5453dc2737b8eed0f34604a648f4e5c0a66 (diff) | |
download | gtk+-ff330668cfee65c9b969911adb16f7d5a2bb6749.tar.gz |
Avoid generic marshallers
The libffi-based generic marshallers give sysprof
difficulties in getting good stacktraces, so avoid
them.
-rw-r--r-- | gtk/gtkdragsource.c | 10 | ||||
-rw-r--r-- | gtk/gtkdropcontrollermotion.c | 2 | ||||
-rw-r--r-- | gtk/gtkdroptarget.c | 20 | ||||
-rw-r--r-- | gtk/gtkdroptargetasync.c | 20 | ||||
-rw-r--r-- | gtk/gtkeventcontrollermotion.c | 7 | ||||
-rw-r--r-- | gtk/gtkmarshalers.list | 6 | ||||
-rw-r--r-- | gtk/gtkwindow.c | 6 |
7 files changed, 57 insertions, 14 deletions
diff --git a/gtk/gtkdragsource.c b/gtk/gtkdragsource.c index 4805e10ffa..0bd8ba1ffa 100644 --- a/gtk/gtkdragsource.c +++ b/gtk/gtkdragsource.c @@ -378,9 +378,12 @@ gtk_drag_source_class_init (GtkDragSourceClass *class) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkDragSourceClass, prepare), g_signal_accumulator_first_wins, NULL, - NULL, + _gtk_marshal_OBJECT__DOUBLE_DOUBLE, GDK_TYPE_CONTENT_PROVIDER, 2, G_TYPE_DOUBLE, G_TYPE_DOUBLE); + g_signal_set_va_marshaller (signals[PREPARE], + GTK_TYPE_DRAG_SOURCE, + _gtk_marshal_OBJECT__DOUBLE_DOUBLEv); /** * GtkDragSource::drag-begin: @@ -421,10 +424,13 @@ gtk_drag_source_class_init (GtkDragSourceClass *class) G_SIGNAL_RUN_LAST, 0, NULL, NULL, - NULL, + _gtk_marshal_OBJECT__BOOLEAN, G_TYPE_NONE, 2, GDK_TYPE_DRAG, G_TYPE_BOOLEAN); + g_signal_set_va_marshaller (signals[DRAG_END], + GTK_TYPE_DRAG_SOURCE, + _gtk_marshal_OBJECT__BOOLEANv); /** * GtkDragSource::drag-cancel: diff --git a/gtk/gtkdropcontrollermotion.c b/gtk/gtkdropcontrollermotion.c index 2dfa313faf..33bf189971 100644 --- a/gtk/gtkdropcontrollermotion.c +++ b/gtk/gtkdropcontrollermotion.c @@ -275,7 +275,7 @@ gtk_drop_controller_motion_class_init (GtkDropControllerMotionClass *klass) GTK_TYPE_DROP_CONTROLLER_MOTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, - NULL, + _gtk_marshal_VOID__DOUBLE_DOUBLE, G_TYPE_NONE, 2, G_TYPE_DOUBLE, G_TYPE_DOUBLE); diff --git a/gtk/gtkdroptarget.c b/gtk/gtkdroptarget.c index e3ad07cf18..8a04f5773c 100644 --- a/gtk/gtkdroptarget.c +++ b/gtk/gtkdroptarget.c @@ -754,9 +754,12 @@ gtk_drop_target_class_init (GtkDropTargetClass *class) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkDropTargetClass, accept), g_signal_accumulator_first_wins, NULL, - NULL, + _gtk_marshal_BOOLEAN__OBJECT, G_TYPE_BOOLEAN, 1, GDK_TYPE_DROP); + g_signal_set_va_marshaller (signals[ACCEPT], + GTK_TYPE_DROP_TARGET, + _gtk_marshal_BOOLEAN__OBJECTv); /** * GtkDropTarget::enter: @@ -777,9 +780,12 @@ gtk_drop_target_class_init (GtkDropTargetClass *class) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkDropTargetClass, enter), g_signal_accumulator_first_wins, NULL, - NULL, + _gtk_marshal_FLAGS__DOUBLE_DOUBLE, GDK_TYPE_DRAG_ACTION, 2, G_TYPE_DOUBLE, G_TYPE_DOUBLE); + g_signal_set_va_marshaller (signals[ENTER], + GTK_TYPE_DROP_TARGET, + _gtk_marshal_FLAGS__DOUBLE_DOUBLEv); /** * GtkDropTarget::motion: @@ -798,9 +804,12 @@ gtk_drop_target_class_init (GtkDropTargetClass *class) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkDropTargetClass, motion), g_signal_accumulator_first_wins, NULL, - NULL, + _gtk_marshal_FLAGS__DOUBLE_DOUBLE, GDK_TYPE_DRAG_ACTION, 2, G_TYPE_DOUBLE, G_TYPE_DOUBLE); + g_signal_set_va_marshaller (signals[MOTION], + GTK_TYPE_DROP_TARGET, + _gtk_marshal_FLAGS__DOUBLE_DOUBLEv); /** * GtkDropTarget::leave: @@ -845,9 +854,12 @@ gtk_drop_target_class_init (GtkDropTargetClass *class) G_SIGNAL_RUN_LAST, 0, g_signal_accumulator_first_wins, NULL, - NULL, + _gtk_marshal_BOOLEAN__BOXED_DOUBLE_DOUBLE, G_TYPE_BOOLEAN, 3, G_TYPE_VALUE, G_TYPE_DOUBLE, G_TYPE_DOUBLE); + g_signal_set_va_marshaller (signals[DROP], + GTK_TYPE_DROP_TARGET, + _gtk_marshal_BOOLEAN__BOXED_DOUBLE_DOUBLEv); } static void diff --git a/gtk/gtkdroptargetasync.c b/gtk/gtkdroptargetasync.c index ad94c64979..577837e04f 100644 --- a/gtk/gtkdroptargetasync.c +++ b/gtk/gtkdroptargetasync.c @@ -430,9 +430,12 @@ gtk_drop_target_async_class_init (GtkDropTargetAsyncClass *class) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkDropTargetAsyncClass, accept), g_signal_accumulator_first_wins, NULL, - NULL, + _gtk_marshal_BOOLEAN__OBJECT, G_TYPE_BOOLEAN, 1, GDK_TYPE_DROP); + g_signal_set_va_marshaller (signals[ACCEPT], + GTK_TYPE_DROP_TARGET_ASYNC, + _gtk_marshal_BOOLEAN__OBJECTv); /** * GtkDropTargetAsync::drag-enter: @@ -453,9 +456,12 @@ gtk_drop_target_async_class_init (GtkDropTargetAsyncClass *class) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkDropTargetAsyncClass, drag_enter), g_signal_accumulator_first_wins, NULL, - NULL, + _gtk_marshal_ENUM__OBJECT_DOUBLE_DOUBLE, GDK_TYPE_DRAG_ACTION, 3, GDK_TYPE_DROP, G_TYPE_DOUBLE, G_TYPE_DOUBLE); + g_signal_set_va_marshaller (signals[DRAG_ENTER], + GTK_TYPE_DROP_TARGET_ASYNC, + _gtk_marshal_ENUM__OBJECT_DOUBLE_DOUBLEv); /** * GtkDropTargetAsync::drag-motion: @@ -474,9 +480,12 @@ gtk_drop_target_async_class_init (GtkDropTargetAsyncClass *class) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkDropTargetAsyncClass, drag_motion), g_signal_accumulator_first_wins, NULL, - NULL, + _gtk_marshal_ENUM__OBJECT_DOUBLE_DOUBLE, GDK_TYPE_DRAG_ACTION, 3, GDK_TYPE_DROP, G_TYPE_DOUBLE, G_TYPE_DOUBLE); + g_signal_set_va_marshaller (signals[DRAG_MOTION], + GTK_TYPE_DROP_TARGET_ASYNC, + _gtk_marshal_ENUM__OBJECT_DOUBLE_DOUBLEv); /** * GtkDropTargetAsync::drag-leave: @@ -528,9 +537,12 @@ gtk_drop_target_async_class_init (GtkDropTargetAsyncClass *class) G_SIGNAL_RUN_LAST, 0, g_signal_accumulator_first_wins, NULL, - NULL, + _gtk_marshal_BOOLEAN__OBJECT_DOUBLE_DOUBLE, G_TYPE_BOOLEAN, 3, GDK_TYPE_DROP, G_TYPE_DOUBLE, G_TYPE_DOUBLE); + g_signal_set_va_marshaller (signals[DROP], + GTK_TYPE_DROP_TARGET_ASYNC, + _gtk_marshal_BOOLEAN__OBJECT_DOUBLE_DOUBLEv); } static void diff --git a/gtk/gtkeventcontrollermotion.c b/gtk/gtkeventcontrollermotion.c index c61de1a8bf..7d6af5d7d3 100644 --- a/gtk/gtkeventcontrollermotion.c +++ b/gtk/gtkeventcontrollermotion.c @@ -241,10 +241,13 @@ gtk_event_controller_motion_class_init (GtkEventControllerMotionClass *klass) GTK_TYPE_EVENT_CONTROLLER_MOTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, - NULL, + _gtk_marshal_VOID__DOUBLE_DOUBLE, G_TYPE_NONE, 2, G_TYPE_DOUBLE, G_TYPE_DOUBLE); + g_signal_set_va_marshaller (signals[ENTER], + G_TYPE_FROM_CLASS (klass), + _gtk_marshal_VOID__DOUBLE_DOUBLEv); /** * GtkEventControllerMotion::leave: @@ -276,7 +279,7 @@ gtk_event_controller_motion_class_init (GtkEventControllerMotionClass *klass) _gtk_marshal_VOID__DOUBLE_DOUBLE, G_TYPE_NONE, 2, G_TYPE_DOUBLE, G_TYPE_DOUBLE); g_signal_set_va_marshaller (signals[MOTION], - G_TYPE_FROM_CLASS (klass), + GTK_TYPE_EVENT_CONTROLLER_MOTION, _gtk_marshal_VOID__DOUBLE_DOUBLEv); } diff --git a/gtk/gtkmarshalers.list b/gtk/gtkmarshalers.list index dbaad3884e..abd4d06673 100644 --- a/gtk/gtkmarshalers.list +++ b/gtk/gtkmarshalers.list @@ -24,6 +24,7 @@ BOOLEAN:BOXED BOOLEAN:BOXED,BOXED BOOLEAN:DOUBLE,DOUBLE +BOOLEAN:BOXED,DOUBLE,DOUBLE BOOLEAN:ENUM BOOLEAN:ENUM,BOOLEAN BOOLEAN:ENUM,BOXED,BOXED,BOXED @@ -40,6 +41,7 @@ BOOLEAN:OBJECT,OBJECT,BOXED BOOLEAN:OBJECT,OBJECT,OBJECT BOOLEAN:OBJECT,STRING,STRING BOOLEAN:OBJECT,ENUM +BOOLEAN:OBJECT,DOUBLE,DOUBLE BOOLEAN:INT BOOLEAN:INT,INT BOOLEAN:INT,INT,INT @@ -53,10 +55,14 @@ BOOLEAN:STRING BOOLEAN:POINTER ENUM:ENUM ENUM:VOID +ENUM:OBJECT,DOUBLE,DOUBLE +FLAGS:DOUBLE,DOUBLE INT:POINTER INT:DOUBLE,DOUBLE OBJECT:OBJECT OBJECT:VOID +OBJECT:DOUBLE,DOUBLE +OBJECT:BOOLEAN STRING:DOUBLE STRING:STRING VOID:BOOLEAN,BOOLEAN,BOOLEAN diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 3b83dd12ab..1b7b975201 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -1146,9 +1146,13 @@ gtk_window_class_init (GtkWindowClass *klass) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWindowClass, close_request), _gtk_boolean_handled_accumulator, NULL, - NULL, + _gtk_marshal_BOOLEAN__VOID, G_TYPE_BOOLEAN, 0); + g_signal_set_va_marshaller (window_signals[CLOSE_REQUEST], + GTK_TYPE_WINDOW, + _gtk_marshal_BOOLEAN__VOIDv); + /* * Key bindings |