From 016de68ceb367cb115cf272efd3bd54f077d1a3e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timm=20B=C3=A4der?= <mail@baedert.org>
Date: Mon, 20 Aug 2018 16:51:53 +0200
Subject: radiobutton: Save signal IDs like everything else

---
 gtk/gtkradiobutton.c | 32 ++++++++++++++++++--------------
 1 file changed, 18 insertions(+), 14 deletions(-)

(limited to 'gtk/gtkradiobutton.c')

diff --git a/gtk/gtkradiobutton.c b/gtk/gtkradiobutton.c
index 94285ed2a6..fa40d83f76 100644
--- a/gtk/gtkradiobutton.c
+++ b/gtk/gtkradiobutton.c
@@ -140,7 +140,13 @@ enum {
   LAST_PROP
 };
 
+enum {
+  GROUP_CHANGED,
+  N_SIGNALS
+};
+
 static GParamSpec *radio_button_props[LAST_PROP] = { NULL, };
+static guint signals[N_SIGNALS] = { 0 };
 
 static void     gtk_radio_button_destroy        (GtkWidget           *widget);
 static gboolean gtk_radio_button_focus          (GtkWidget           *widget,
@@ -157,8 +163,6 @@ static void     gtk_radio_button_get_property   (GObject             *object,
 
 G_DEFINE_TYPE_WITH_PRIVATE (GtkRadioButton, gtk_radio_button, GTK_TYPE_CHECK_BUTTON)
 
-static guint group_changed_signal = 0;
-
 static void
 gtk_radio_button_class_init (GtkRadioButtonClass *class)
 {
@@ -205,13 +209,13 @@ gtk_radio_button_class_init (GtkRadioButtonClass *class)
    * more buttons to a different one, but not when the composition
    * of the group that a button belongs to changes.
    */
-  group_changed_signal = g_signal_new (I_("group-changed"),
-				       G_OBJECT_CLASS_TYPE (gobject_class),
-				       G_SIGNAL_RUN_FIRST,
-				       G_STRUCT_OFFSET (GtkRadioButtonClass, group_changed),
-				       NULL, NULL,
-				       NULL,
-				       G_TYPE_NONE, 0);
+  signals[GROUP_CHANGED] = g_signal_new (I_("group-changed"),
+                                         G_OBJECT_CLASS_TYPE (gobject_class),
+                                         G_SIGNAL_RUN_FIRST,
+                                         G_STRUCT_OFFSET (GtkRadioButtonClass, group_changed),
+                                         NULL, NULL,
+                                         NULL,
+                                         G_TYPE_NONE, 0);
 
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_RADIO_BUTTON_ACCESSIBLE);
   gtk_widget_class_set_css_name (widget_class, I_("radiobutton"));
@@ -340,15 +344,15 @@ gtk_radio_button_set_group (GtkRadioButton *radio_button,
   g_object_ref (radio_button);
   
   g_object_notify_by_pspec (G_OBJECT (radio_button), radio_button_props[PROP_GROUP]);
-  g_signal_emit (radio_button, group_changed_signal, 0);
+  g_signal_emit (radio_button, signals[GROUP_CHANGED], 0);
   if (old_group_singleton)
     {
-      g_signal_emit (old_group_singleton, group_changed_signal, 0);
+      g_signal_emit (old_group_singleton, signals[GROUP_CHANGED], 0);
       g_object_unref (old_group_singleton);
     }
   if (new_group_singleton)
     {
-      g_signal_emit (new_group_singleton, group_changed_signal, 0);
+      g_signal_emit (new_group_singleton, signals[GROUP_CHANGED], 0);
       g_object_unref (new_group_singleton);
     }
 
@@ -604,9 +608,9 @@ gtk_radio_button_destroy (GtkWidget *widget)
   priv->group = NULL;
 
   if (old_group_singleton)
-    g_signal_emit (old_group_singleton, group_changed_signal, 0);
+    g_signal_emit (old_group_singleton, signals[GROUP_CHANGED], 0);
   if (was_in_group)
-    g_signal_emit (radio_button, group_changed_signal, 0);
+    g_signal_emit (radio_button, signals[GROUP_CHANGED], 0);
 
   GTK_WIDGET_CLASS (gtk_radio_button_parent_class)->destroy (widget);
 }
-- 
cgit v1.2.1