From cc7ae525efe5432e63cc993bbeadc0bda3daad17 Mon Sep 17 00:00:00 2001 From: Christian Hergert Date: Wed, 4 Sep 2019 19:39:24 -0700 Subject: [PATCH] texttag: avoid use of g_signal_emit_by_name() This avoids looking up the signal by name and instead uses the saved signal identifier from gtktexttagtable.c --- gtk/gtktexttag.c | 6 ++---- gtk/gtktexttagtable.c | 8 ++++++++ gtk/gtktexttagtableprivate.h | 3 +++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/gtk/gtktexttag.c b/gtk/gtktexttag.c index 27fbdff6b7..d04606f463 100644 --- a/gtk/gtktexttag.c +++ b/gtk/gtktexttag.c @@ -77,6 +77,7 @@ #include "gtktexttag.h" #include "gtktexttypes.h" #include "gtktexttagtable.h" +#include "gtktexttagtableprivate.h" #include "gtkintl.h" #include "gtkmarshalers.h" #include "gtkprivate.h" @@ -2029,10 +2030,7 @@ gtk_text_tag_changed (GtkTextTag *tag, * added, this would increase significantly the number of signal connections. */ if (priv->table != NULL) - g_signal_emit_by_name (priv->table, - "tag-changed", - tag, - size_changed); + _gtk_text_tag_table_tag_changed (priv->table, tag, size_changed); } static int diff --git a/gtk/gtktexttagtable.c b/gtk/gtktexttagtable.c index 0b2e6623c7..81a852ccc3 100644 --- a/gtk/gtktexttagtable.c +++ b/gtk/gtktexttagtable.c @@ -484,3 +484,11 @@ _gtk_text_tag_table_remove_buffer (GtkTextTagTable *table, priv->buffers = g_slist_remove (priv->buffers, buffer); } + +void +_gtk_text_tag_table_tag_changed (GtkTextTagTable *table, + GtkTextTag *tag, + gboolean size_changed) +{ + g_signal_emit (table, signals[TAG_CHANGED], 0, tag, size_changed); +} diff --git a/gtk/gtktexttagtableprivate.h b/gtk/gtktexttagtableprivate.h index 969cc4e2c8..0a8401e695 100644 --- a/gtk/gtktexttagtableprivate.h +++ b/gtk/gtktexttagtableprivate.h @@ -33,6 +33,9 @@ void _gtk_text_tag_table_add_buffer (GtkTextTagTable *table, gpointer buffer); void _gtk_text_tag_table_remove_buffer (GtkTextTagTable *table, gpointer buffer); +void _gtk_text_tag_table_tag_changed (GtkTextTagTable *table, + GtkTextTag *tag, + gboolean size_changed); G_END_DECLS