From 84f88bbb1d2e12b1c582e87fa098b823e91bbf33 Mon Sep 17 00:00:00 2001
From: Jan Arne Petersen <jap@gnome.org>
Date: Tue, 18 May 2010 06:46:42 +0000
Subject: GtkRange: Redraw if GtkRange is a GtkScale and value is drawn.
* gtk/gtkrange.c: (gtk_range_adjustment_value_change):
Queue the draw also if the range is a scale and the value is drawn,
fixing bug #533946 (Markus Brinkmann), when two HScales use one
adjustment.
---
diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c
index 552eac7..a4fcee4 100644
--- a/gtk/gtkrange.c
+++ b/gtk/gtkrange.c
@@ -35,6 +35,7 @@
#include "gtkmarshalers.h"
#include "gtkorientable.h"
#include "gtkrange.h"
+#include "gtkscale.h"
#include "gtkscrollbar.h"
#include "gtkprivate.h"
#include "gtkintl.h"
@@ -2618,7 +2619,8 @@ gtk_range_adjustment_value_changed (GtkAdjustment *adjustment,
gtk_range_calc_layout (range, range->adjustment->value);
/* now check whether the layout changed */
- if (layout_changed (range->layout, &layout))
+ if (layout_changed (range->layout, &layout) ||
+ (GTK_IS_SCALE (range) && GTK_SCALE (range)->draw_value))
{
gtk_widget_queue_draw (GTK_WIDGET (range));
/* setup a timer to ensure the range isn't lagging too much behind the scroll position */
--
cgit v0.8.3.1