spin button: Stop using ::key-release-event
authorMatthias Clasen <mclasen@redhat.com>
Mon, 21 May 2018 15:38:59 +0000 (11:38 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 22 May 2018 00:20:43 +0000 (20:20 -0400)
Just use the generic ::event signal.

gtk/gtkspinbutton.c

index 0639fee044c76f1d076fff84e42c31dd82552702..7b5cd7c5caa4c2a7285a455471eb080a9d91bf12 100644 (file)
@@ -268,8 +268,6 @@ static gboolean gtk_spin_button_timer          (GtkSpinButton      *spin_button)
 static gboolean gtk_spin_button_stop_spinning  (GtkSpinButton      *spin);
 static void gtk_spin_button_value_changed  (GtkAdjustment      *adjustment,
                                             GtkSpinButton      *spin_button);
-static gint gtk_spin_button_key_release    (GtkWidget          *widget,
-                                            GdkEventKey        *event);
 
 static void gtk_spin_button_activate       (GtkEntry           *entry,
                                             gpointer            user_data);
@@ -320,7 +318,6 @@ gtk_spin_button_class_init (GtkSpinButtonClass *class)
   widget_class->realize = gtk_spin_button_realize;
   widget_class->measure = gtk_spin_button_measure;
   widget_class->size_allocate = gtk_spin_button_size_allocate;
-  widget_class->key_release_event = gtk_spin_button_key_release;
   widget_class->event = gtk_spin_button_event;
   widget_class->grab_notify = gtk_spin_button_grab_notify;
   widget_class->state_flags_changed = gtk_spin_button_state_flags_changed;
@@ -1089,6 +1086,14 @@ gtk_spin_button_event (GtkWidget *widget,
   GtkSpinButton *spin_button = GTK_SPIN_BUTTON (widget);
   GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
 
+  if (gdk_event_get_event_type (event) == GDK_KEY_RELEASE)
+    {
+      /* We only get a release at the end of a key repeat run, so reset the timer_step */
+      priv->timer_step = gtk_adjustment_get_step_increment (priv->adjustment);
+      priv->timer_calls = 0;
+
+      return GDK_EVENT_STOP;
+    }
   if (gdk_event_get_event_type (event) == GDK_FOCUS_CHANGE)
     {
       gboolean focus_in;
@@ -1298,20 +1303,6 @@ gtk_spin_button_real_change_value (GtkSpinButton *spin,
     gtk_widget_error_bell (GTK_WIDGET (spin));
 }
 
-static gint
-gtk_spin_button_key_release (GtkWidget   *widget,
-                             GdkEventKey *event)
-{
-  GtkSpinButton *spin = GTK_SPIN_BUTTON (widget);
-  GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin);
-
-  /* We only get a release at the end of a key repeat run, so reset the timer_step */
-  priv->timer_step = gtk_adjustment_get_step_increment (priv->adjustment);
-  priv->timer_calls = 0;
-
-  return TRUE;
-}
-
 static void
 gtk_spin_button_snap (GtkSpinButton *spin_button,
                       gdouble        val)