summaryrefslogtreecommitdiff
path: root/gtk/gtkrange.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkrange.c')
-rw-r--r--gtk/gtkrange.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c
index 38e6f19908..e03978fff3 100644
--- a/gtk/gtkrange.c
+++ b/gtk/gtkrange.c
@@ -1360,12 +1360,15 @@ gtk_range_scroll_event (GtkWidget *widget,
if (GTK_WIDGET_REALIZED (range))
{
GtkAdjustment *adj = GTK_RANGE (range)->adjustment;
- gdouble new_value = adj->value + ((event->direction == GDK_SCROLL_UP ||
- event->direction == GDK_SCROLL_LEFT) ?
- -adj->page_increment / 2:
- adj->page_increment / 2);
-
- gtk_range_internal_set_value (range, new_value);
+ gdouble increment = ((event->direction == GDK_SCROLL_UP ||
+ event->direction == GDK_SCROLL_LEFT) ?
+ -adj->page_increment / 2:
+ adj->page_increment / 2);
+
+ if (range->inverted)
+ increment = -increment;
+
+ gtk_range_internal_set_value (range, adj->value + increment);
/* Policy DELAYED makes sense with scroll events,
* but DISCONTINUOUS doesn't, so we update immediately