[gtk+] range: Don't invalidate layout when computing marks



commit 06150aa51737751f0beff31eb446bb2a00b2b06e
Author: Benjamin Otte <otte redhat com>
Date:   Fri Nov 21 08:29:37 2014 +0100

    range: Don't invalidate layout when computing marks
    
    We now have a function to compute a slider position. Use that one
    instead.

 gtk/gtkrange.c |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)
---
diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c
index ae61727..80e632a 100644
--- a/gtk/gtkrange.c
+++ b/gtk/gtkrange.c
@@ -3963,6 +3963,7 @@ static void
 gtk_range_calc_marks (GtkRange *range)
 {
   GtkRangePrivate *priv = range->priv;
+  GdkRectangle slider;
   gint i;
 
   if (!priv->recalc_marks)
@@ -3972,15 +3973,13 @@ gtk_range_calc_marks (GtkRange *range)
 
   for (i = 0; i < priv->n_marks; i++)
     {
-      priv->need_recalc = TRUE;
-      gtk_range_calc_layout (range, priv->marks[i]);
+      gtk_range_compute_slider_position (range, priv->marks[i], &slider);
+
       if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
-        priv->mark_pos[i] = priv->slider.x + priv->slider.width / 2;
+        priv->mark_pos[i] = slider.x + slider.width / 2;
       else
-        priv->mark_pos[i] = priv->slider.y + priv->slider.height / 2;
+        priv->mark_pos[i] = slider.y + slider.height / 2;
     }
-
-  priv->need_recalc = TRUE;
 }
 
 static gboolean


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]