--- gtk/gtkrange.c	Fri May 17 01:56:31 2002
+++ gtk.modified/gtkrange.c	Sun Jun 16 12:10:47 2002
@@ -1357,11 +1357,19 @@
   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);
-
+      gdouble new_value;
+      if(!gtk_range_get_inverted(range)){
+	new_value = adj->value + ((event->direction == GDK_SCROLL_UP ||
+				   event->direction == GDK_SCROLL_LEFT) ? 
+				  -adj->page_increment / 2: 
+				  adj->page_increment / 2);
+      }else{
+	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);
 
       /* Policy DELAYED makes sense with scroll events,
