diff options
author | Owen Taylor <otaylor@redhat.com> | 2002-07-30 23:17:50 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2002-07-30 23:17:50 +0000 |
commit | cc375a49d7817123f5559941680b94ceb1d4fa57 (patch) | |
tree | cfb2ef2c0602b71c7bb1526de20f76b17340adcd /gtk/gtkrange.c | |
parent | fceae3c3bbd541231355662a6d1f0b7f22dd44c0 (diff) | |
download | gtk+-cc375a49d7817123f5559941680b94ceb1d4fa57.tar.gz |
Handle inverted ranges correctly (#85436, fix from Norihiro UMEDA)
Tue Jul 30 19:09:46 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrange.c (gtk_range_scroll_event): Handle
inverted ranges correctly (#85436, fix from
Norihiro UMEDA)
Diffstat (limited to 'gtk/gtkrange.c')
-rw-r--r-- | gtk/gtkrange.c | 15 |
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 |