Revert "Scale: Always sync ::digits to Range::round-digits"
authorMatthias Clasen <mclasen@redhat.com>
Wed, 26 Apr 2017 10:18:09 +0000 (06:18 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 26 Apr 2017 10:33:27 +0000 (06:33 -0400)
This reverts commit 4a6bd134bdc192b4830a1c6228e27332d4629418.

This change in behavior broke various things.

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

gtk/gtkscale.c

index bde630fb00f3bdda9324951bd838dfb0a84b9a08..5f7720ac508a6715b1271a626a27baf04e4f5f80 100644 (file)
@@ -1148,7 +1148,8 @@ gtk_scale_set_digits (GtkScale *scale,
   if (priv->digits != digits)
     {
       priv->digits = digits;
-      gtk_range_set_round_digits (range, digits);
+      if (priv->draw_value)
+        gtk_range_set_round_digits (range, digits);
 
       gtk_scale_clear_value_layout (scale);
       gtk_widget_queue_resize (GTK_WIDGET (scale));
@@ -1340,6 +1341,7 @@ gtk_scale_set_draw_value (GtkScale *scale,
           else
             gtk_css_node_insert_before (widget_node, gtk_css_gadget_get_node (priv->value_gadget), NULL);
 
+          gtk_range_set_round_digits (GTK_RANGE (scale), priv->digits);
           update_value_position (scale);
         }
       else
@@ -1347,6 +1349,8 @@ gtk_scale_set_draw_value (GtkScale *scale,
           if (priv->value_gadget)
             gtk_css_node_set_parent (gtk_css_gadget_get_node (priv->value_gadget), NULL);
           g_clear_object (&priv->value_gadget);
+
+          gtk_range_set_round_digits (GTK_RANGE (scale), -1);
         }
 
       gtk_scale_clear_value_layout (scale);