scale: fix marks node position for scales with value
authorCosimo Cecchi <cosimoc@gnome.org>
Sun, 27 Mar 2016 05:36:12 +0000 (22:36 -0700)
committerCosimo Cecchi <cosimoc@gnome.org>
Sun, 27 Mar 2016 05:43:53 +0000 (22:43 -0700)
We should only count the value node as the first/last one if its
position matches.

gtk/gtkscale.c

index 17a2e8bfd96ca92bea76355bdd4cb7ba341064e1..a9a6fe27996cb169b07aa4170e3688c4b9ef0860 100644 (file)
@@ -2075,7 +2075,9 @@ gtk_scale_add_mark (GtkScale        *scale,
                                        NULL, NULL);
           gtk_css_node_insert_after (widget_node,
                                      gtk_css_gadget_get_node (priv->top_marks_gadget),
-                                     priv->value_gadget ? gtk_css_gadget_get_node (priv->value_gadget) : NULL);
+                                     (priv->value_gadget &&
+                                      (priv->value_pos == GTK_POS_TOP || priv->value_pos == GTK_POS_LEFT)) ?
+                                     gtk_css_gadget_get_node (priv->value_gadget) : NULL);
           gtk_css_gadget_add_class (priv->top_marks_gadget, GTK_STYLE_CLASS_TOP);
           gtk_css_gadget_set_state (priv->top_marks_gadget, gtk_css_node_get_state (widget_node));
         }
@@ -2094,7 +2096,9 @@ gtk_scale_add_mark (GtkScale        *scale,
                                        NULL, NULL);
           gtk_css_node_insert_before (widget_node,
                                       gtk_css_gadget_get_node (priv->bottom_marks_gadget),
-                                      priv->value_gadget ? gtk_css_gadget_get_node (priv->value_gadget) : NULL);
+                                      (priv->value_gadget &&
+                                       (priv->value_pos == GTK_POS_BOTTOM || priv->value_pos == GTK_POS_RIGHT)) ?
+                                      gtk_css_gadget_get_node (priv->value_gadget) : NULL);
           gtk_css_gadget_add_class (priv->bottom_marks_gadget, GTK_STYLE_CLASS_BOTTOM);
           gtk_css_gadget_set_state (priv->bottom_marks_gadget, gtk_css_node_get_state (widget_node));
         }