gtk: fix all uses of g_cclosure_marshal_generic

This adds specific marshallers for all of the locations where a generic
marshaller is being used. It also provides va_marshallers to reduce the
chances that we get stack traces from perf going through ffi_call_unix64.
This commit is contained in:
Christian Hergert
2019-05-31 13:11:43 -07:00
parent dd25499f1e
commit 44cdb20c10
16 changed files with 147 additions and 30 deletions

View File

@ -31,6 +31,7 @@
#include "config.h"
#include "gtkintl.h"
#include "gtkmarshalers.h"
#include "gtkwidget.h"
#include "gtkeventcontrollerprivate.h"
#include "gtkeventcontrollermotion.h"
@ -139,8 +140,11 @@ gtk_event_controller_motion_class_init (GtkEventControllerMotionClass *klass)
GTK_TYPE_EVENT_CONTROLLER_MOTION,
G_SIGNAL_RUN_FIRST,
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:
@ -153,7 +157,7 @@ gtk_event_controller_motion_class_init (GtkEventControllerMotionClass *klass)
GTK_TYPE_EVENT_CONTROLLER_MOTION,
G_SIGNAL_RUN_FIRST,
0, NULL, NULL,
NULL,
NULL,
G_TYPE_NONE, 0);
/**
@ -169,8 +173,11 @@ gtk_event_controller_motion_class_init (GtkEventControllerMotionClass *klass)
GTK_TYPE_EVENT_CONTROLLER_MOTION,
G_SIGNAL_RUN_FIRST,
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[MOTION],
G_TYPE_FROM_CLASS (klass),
_gtk_marshal_VOID__DOUBLE_DOUBLEv);
}
static void