? adjustment-smooth.diff
? cachepatch
? commit
? constpatch
? destroy-fix.patch
? frugt
? gcfix
? gtkd
? headdiff
? huh
? no-flicker-2.patch
? no-flicker-3.patch
? no-flicker.patch
? owen-119722.patch
? radiomenuitem.patch
? wheelfix-2.patch
? wheelfix.patch
? gdk/119722.patch
? gdk/antiexpose.patch
? gdk/blahblah.patch
? gdk/core.20280
? gdk/destroy-fix.patch
? gdk/emfle.patch
? gdk/gccache.patch
? gdk/gcfix
? gdk/huh
? gdk/newgccache.patch
? gdk/x11/antiexpose.patch
? gdk/x11/bitmap.patch
? gdk/x11/gdkdrawable-x11.ac
? gdk/x11/huh
? gdk/x11/xsettings.patch
? gtk/57100.patch
? gtk/birnan
? gtk/core.14263
? gtk/groupproperty.patch
? gtk/gtktoolbar.bad-approach.c
? gtk/mb-childspace-2.patch
Index: gtk/gtkrange.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkrange.c,v
retrieving revision 1.95
diff -u -p -u -r1.95 gtkrange.c
--- gtk/gtkrange.c	16 Jan 2004 23:09:33 -0000	1.95
+++ gtk/gtkrange.c	21 Feb 2004 18:03:10 -0000
@@ -26,11 +26,13 @@
  */
 
 #include <stdio.h>
+#include <math.h>
 #include "gtkintl.h"
 #include "gtkmain.h"
 #include "gtkmarshalers.h"
 #include "gtkrange.h"
 #include "gtkintl.h"
+#include "gtkscrollbar.h"
 
 #define SCROLL_INITIAL_DELAY 250  /* must hold button this long before ... */
 #define SCROLL_LATER_DELAY   100  /* ... it starts repeating at this rate  */
@@ -1373,16 +1375,22 @@ gtk_range_scroll_event (GtkWidget      *
   if (GTK_WIDGET_REALIZED (range))
     {
       GtkAdjustment *adj = GTK_RANGE (range)->adjustment;
-      gdouble increment = ((event->direction == GDK_SCROLL_UP ||
-			    event->direction == GDK_SCROLL_LEFT) ? 
-			   -adj->page_increment / 2: 
-			   adj->page_increment / 2);
+      gdouble increment;
+      
+      if (GTK_IS_SCROLLBAR (range))
+	increment = - pow (adj->page_size, 2.0 / 3.0);
+      else
+	increment = - adj->page_increment / 2.0;
+      
+      if (event->direction == GDK_SCROLL_DOWN ||
+	  event->direction == GDK_SCROLL_RIGHT)
+	increment = - increment;
       
       if (range->inverted)
-	increment = -increment;
-	  
+	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
        * for DISCONTINUOUS
Index: gtk/gtkscrolledwindow.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkscrolledwindow.c,v
retrieving revision 1.69
diff -u -p -u -r1.69 gtkscrolledwindow.c
--- gtk/gtkscrolledwindow.c	16 Jan 2004 23:09:37 -0000	1.69
+++ gtk/gtkscrolledwindow.c	21 Feb 2004 18:03:22 -0000
@@ -24,6 +24,7 @@
  * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
  */
 
+#include <math.h>
 #include <gdk/gdkkeysyms.h>
 #include "gtkbindings.h"
 #include "gtkmarshalers.h"
@@ -1229,9 +1230,9 @@ gtk_scrolled_window_scroll_event (GtkWid
       gdouble new_value;
 
       if (event->direction == GDK_SCROLL_UP || event->direction == GDK_SCROLL_LEFT)
-	new_value = adj->value - adj->page_increment / 2;
+	new_value = adj->value - pow (adj->page_size, 2.0 / 3.0);
       else
-	new_value = adj->value + adj->page_increment / 2;
+	new_value = adj->value + pow (adj->page_size, 2.0 / 3.0);
 
       new_value = CLAMP (new_value, adj->lower, adj->upper - adj->page_size);
       gtk_adjustment_set_value (adj, new_value);
