summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2023-05-13 09:21:48 -0400
committerMatthias Clasen <mclasen@redhat.com>2023-05-13 11:15:49 -0400
commitff330668cfee65c9b969911adb16f7d5a2bb6749 (patch)
tree806899942988805378f3d163c9e95217028bef37
parent63f9e5453dc2737b8eed0f34604a648f4e5c0a66 (diff)
downloadgtk+-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.c10
-rw-r--r--gtk/gtkdropcontrollermotion.c2
-rw-r--r--gtk/gtkdroptarget.c20
-rw-r--r--gtk/gtkdroptargetasync.c20
-rw-r--r--gtk/gtkeventcontrollermotion.c7
-rw-r--r--gtk/gtkmarshalers.list6
-rw-r--r--gtk/gtkwindow.c6
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