]> Pileus Git - ~andy/gtk/commitdiff
gtkspinbutton: Respect value of inherited 'editable' property
authorZeeshan Ali (Khattak) <zeeshanak@gnome.org>
Tue, 3 Jan 2012 22:44:24 +0000 (00:44 +0200)
committerZeeshan Ali (Khattak) <zeeshanak@gnome.org>
Tue, 3 Jan 2012 22:49:35 +0000 (00:49 +0200)
When this property is set to 'FALSE', user's click on the buttons
should not actually update the value but rather result in error bell.

https://bugzilla.gnome.org/show_bug.cgi?id=667229

gtk/gtkspinbutton.c

index 978109edae0115b4aa7bd3d8880f95b0875c50eb..5a5cf80111562facaaf1514d236a9a8486c2a85a 100644 (file)
@@ -1348,15 +1348,17 @@ gtk_spin_button_button_press (GtkWidget      *widget,
             gtk_widget_grab_focus (widget);
           priv->button = event->button;
 
-          if (gtk_editable_get_editable (GTK_EDITABLE (widget)))
+          if (gtk_editable_get_editable (GTK_EDITABLE (widget))) {
             gtk_spin_button_update (spin);
 
-          if (event->button == 1)
-            start_spinning (spin, event->window, gtk_adjustment_get_step_increment (priv->adjustment));
-          else if (event->button == 2)
-            start_spinning (spin, event->window, gtk_adjustment_get_page_increment (priv->adjustment));
-          else
-            priv->click_child = event->window;
+            if (event->button == 1)
+              start_spinning (spin, event->window, gtk_adjustment_get_step_increment (priv->adjustment));
+            else if (event->button == 2)
+              start_spinning (spin, event->window, gtk_adjustment_get_page_increment (priv->adjustment));
+            else
+              priv->click_child = event->window;
+          } else
+            gtk_widget_error_bell (widget);
 
           return TRUE;
         }