]> Pileus Git - ~andy/gtk/commitdiff
gtkspinbutton: Ignore keynav when !editable
authorZeeshan Ali (Khattak) <zeeshanak@gnome.org>
Thu, 5 Jan 2012 01:09:06 +0000 (03:09 +0200)
committerZeeshan Ali (Khattak) <zeeshanak@gnome.org>
Fri, 6 Jan 2012 03:45:46 +0000 (05:45 +0200)
Don't allow changing of value through keyboard when 'editable' property is
set to 'FALSE.

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

gtk/gtkspinbutton.c

index 5a5cf80111562facaaf1514d236a9a8486c2a85a..bff3d6607150f45d2a2cdff32ebb2ed5b1af1da4 100644 (file)
@@ -1504,6 +1504,12 @@ gtk_spin_button_real_change_value (GtkSpinButton *spin,
   GtkSpinButtonPrivate *priv = spin->priv;
   gdouble old_value;
 
+  if (!gtk_editable_get_editable (GTK_EDITABLE (spin)))
+    {
+      gtk_widget_error_bell (GTK_WIDGET (spin));
+      return;
+    }
+
   /* When the key binding is activated, there may be an outstanding
    * value, so we first have to commit what is currently written in
    * the spin buttons text entry. See #106574
@@ -1512,11 +1518,6 @@ gtk_spin_button_real_change_value (GtkSpinButton *spin,
 
   old_value = gtk_adjustment_get_value (priv->adjustment);
 
-  /* We don't test whether the entry is editable, since
-   * this key binding conceptually corresponds to changing
-   * the value with the buttons using the mouse, which
-   * we allow for non-editable spin buttons.
-   */
   switch (scroll)
     {
     case GTK_SCROLL_STEP_BACKWARD: