Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/gtk+/ChangeLog,v
retrieving revision 1.3338.2.143
diff -u -p -r1.3338.2.143 ChangeLog
--- ChangeLog	30 Jul 2002 20:43:24 -0000	1.3338.2.143
+++ ChangeLog	30 Jul 2002 23:16:23 -0000
@@ -1,3 +1,9 @@
+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)
+
 Tue Jul 30 16:36:53 2002  Owen Taylor  <otaylor@redhat.com>
 
 	* tests/testgtk.c: Fix bug in the selection mode option
Index: gtk/gtkrange.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkrange.c,v
retrieving revision 1.82.2.3
diff -u -p -r1.82.2.3 gtkrange.c
--- gtk/gtkrange.c	12 Jun 2002 19:37:29 -0000	1.82.2.3
+++ gtk/gtkrange.c	30 Jul 2002 23:16:23 -0000
@@ -1360,12 +1360,15 @@ gtk_range_scroll_event (GtkWidget      *
   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
