Avoid generic marshallers
authorMatthias Clasen <mclasen@redhat.com>
Sat, 13 May 2023 13:21:48 +0000 (09:21 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 13 May 2023 15:15:49 +0000 (11:15 -0400)
The libffi-based generic marshallers give sysprof
difficulties in getting good stacktraces, so avoid
them.

gtk/gtkdragsource.c
gtk/gtkdropcontrollermotion.c
gtk/gtkdroptarget.c
gtk/gtkdroptargetasync.c
gtk/gtkeventcontrollermotion.c
gtk/gtkmarshalers.list
gtk/gtkwindow.c

index 4805e10ffa0487ad7b399229dc88d26c52d91cb1..0bd8ba1ffae071940206d21ff2c484b41ecb1185 100644 (file)
@@ -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:
index 2dfa313fafb98a9cc7dee0a960aabcf4f1f7c7e1..33bf189971eaabdf554b62820769da3ef3f433d9 100644 (file)
@@ -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);
index e3ad07cf18d736a51b2bbc3ffe85947956de92e8..8a04f5773c5f32f87cc695e9fdd60d7d37ddecb2 100644 (file)
@@ -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
index ad94c649797ce057920014ad5988e22616d1e125..577837e04fc51dcd018ffe1498b6125c7310c50f 100644 (file)
@@ -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
index c61de1a8bf5d626b051ec1ff0ae3460e0e86e6aa..7d6af5d7d3ad1f3a72616b2b43191c3d201f9d1d 100644 (file)
@@ -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);
 }
 
index dbaad3884e3ba92697e41cf27cc164121528268d..abd4d06673b84e711202808e86c4cb23eb91d819 100644 (file)
@@ -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
index 3b83dd12abfa1e4e3994eb7830f165e11f8bc13e..1b7b975201eb995b463039bcba564ff0a150120a 100644 (file)
@@ -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