[gtksourceview] marshal: add marshallers for GtkSourceBuffer



commit af16868ce45672af0ceed79f3b05cf016d01c2b9
Author: Christian Hergert <chergert redhat com>
Date:   Wed May 29 12:10:44 2019 -0700

    marshal: add marshallers for GtkSourceBuffer
    
    Same as GtkSourceView, to get better perf tracing and slightly improve
    signal performance.

 gtksourceview/gtksourcebuffer.c        | 31 ++++++++++++++++++++++++++-----
 gtksourceview/gtksourcemarshalers.list |  1 +
 2 files changed, 27 insertions(+), 5 deletions(-)
---
diff --git a/gtksourceview/gtksourcebuffer.c b/gtksourceview/gtksourcebuffer.c
index 80b6044f..2341a6b3 100644
--- a/gtksourceview/gtksourcebuffer.c
+++ b/gtksourceview/gtksourcebuffer.c
@@ -35,6 +35,7 @@
 
 #include "gtksourcelanguage.h"
 #include "gtksourcelanguage-private.h"
+#include "gtksource-marshal.h"
 #include "gtksourceundomanager.h"
 #include "gtksourceundomanagerdefault.h"
 #include "gtksourcestyle.h"
@@ -430,11 +431,15 @@ gtk_source_buffer_class_init (GtkSourceBufferClass *klass)
                                        G_OBJECT_CLASS_TYPE (object_class),
                                        G_SIGNAL_RUN_LAST,
                                        G_CALLBACK (gtk_source_buffer_real_highlight_updated),
-                                       NULL, NULL, NULL,
+                                       NULL, NULL,
+                                       _gtk_source_marshal_VOID__BOXED_BOXED,
                                        G_TYPE_NONE,
                                        2,
                                        GTK_TYPE_TEXT_ITER | G_SIGNAL_TYPE_STATIC_SCOPE,
                                        GTK_TYPE_TEXT_ITER | G_SIGNAL_TYPE_STATIC_SCOPE);
+       g_signal_set_va_marshaller (buffer_signals[HIGHLIGHT_UPDATED],
+                                   G_TYPE_FROM_CLASS (klass),
+                                   _gtk_source_marshal_VOID__BOXED_BOXEDv);
 
        /**
         * GtkSourceBuffer::source-mark-updated:
@@ -449,9 +454,13 @@ gtk_source_buffer_class_init (GtkSourceBufferClass *klass)
                           G_OBJECT_CLASS_TYPE (object_class),
                           G_SIGNAL_RUN_LAST,
                           0,
-                          NULL, NULL, NULL,
+                          NULL, NULL,
+                          g_cclosure_marshal_VOID__OBJECT,
                           G_TYPE_NONE,
                           1, GTK_TYPE_TEXT_MARK);
+       g_signal_set_va_marshaller (buffer_signals[SOURCE_MARK_UPDATED],
+                                   G_TYPE_FROM_CLASS (klass),
+                                   g_cclosure_marshal_VOID__OBJECTv);
 
        /**
         * GtkSourceBuffer::undo:
@@ -465,8 +474,12 @@ gtk_source_buffer_class_init (GtkSourceBufferClass *klass)
                          G_OBJECT_CLASS_TYPE (object_class),
                          G_SIGNAL_RUN_LAST,
                          G_STRUCT_OFFSET (GtkSourceBufferClass, undo),
-                         NULL, NULL, NULL,
+                         NULL, NULL,
+                         g_cclosure_marshal_VOID__VOID,
                          G_TYPE_NONE, 0);
+       g_signal_set_va_marshaller (buffer_signals[UNDO],
+                                   G_TYPE_FROM_CLASS (klass),
+                                   g_cclosure_marshal_VOID__VOIDv);
 
        /**
         * GtkSourceBuffer::redo:
@@ -479,8 +492,12 @@ gtk_source_buffer_class_init (GtkSourceBufferClass *klass)
                          G_OBJECT_CLASS_TYPE (object_class),
                          G_SIGNAL_RUN_LAST,
                          G_STRUCT_OFFSET (GtkSourceBufferClass, redo),
-                         NULL, NULL, NULL,
+                         NULL, NULL,
+                         g_cclosure_marshal_VOID__VOID,
                          G_TYPE_NONE, 0);
+       g_signal_set_va_marshaller (buffer_signals[REDO],
+                                   G_TYPE_FROM_CLASS (klass),
+                                   g_cclosure_marshal_VOID__VOIDv);
 
        /**
         * GtkSourceBuffer::bracket-matched:
@@ -504,10 +521,14 @@ gtk_source_buffer_class_init (GtkSourceBufferClass *klass)
                          G_OBJECT_CLASS_TYPE (object_class),
                          G_SIGNAL_RUN_LAST,
                          G_STRUCT_OFFSET (GtkSourceBufferClass, bracket_matched),
-                         NULL, NULL, NULL,
+                         NULL, NULL,
+                         _gtk_source_marshal_VOID__BOXED_ENUM,
                          G_TYPE_NONE, 2,
                          GTK_TYPE_TEXT_ITER,
                          GTK_SOURCE_TYPE_BRACKET_MATCH_TYPE);
+       g_signal_set_va_marshaller (buffer_signals[BRACKET_MATCHED],
+                                   G_TYPE_FROM_CLASS (klass),
+                                   _gtk_source_marshal_VOID__BOXED_ENUMv);
 }
 
 static void
diff --git a/gtksourceview/gtksourcemarshalers.list b/gtksourceview/gtksourcemarshalers.list
index 4ddf1331..cee9fed9 100644
--- a/gtksourceview/gtksourcemarshalers.list
+++ b/gtksourceview/gtksourcemarshalers.list
@@ -1,2 +1,3 @@
 VOID:BOXED,BOXED
 VOID:BOXED,INT
+VOID:BOXED,ENUM


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]