diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index 13f688716c..309f43c5c8 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -2806,6 +2806,10 @@ _gtk_range_get_wheel_delta (GtkRange *range, if (gdk_event_get_scroll_deltas ((GdkEvent *) event, &dx, &dy)) { +#ifdef GDK_WINDOWING_QUARTZ + scroll_unit = 1; +#endif + if (dx != 0 && gtk_orientable_get_orientation (GTK_ORIENTABLE (range)) == GTK_ORIENTATION_HORIZONTAL) delta = dx * scroll_unit; diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c index 79f8cd8ddd..464d14f586 100644 --- a/gtk/gtkscrolledwindow.c +++ b/gtk/gtkscrolledwindow.c @@ -2425,7 +2425,12 @@ gtk_scrolled_window_scroll_event (GtkWidget *widget, adj = gtk_range_get_adjustment (GTK_RANGE (priv->hscrollbar)); page_size = gtk_adjustment_get_page_size (adj); + +#ifdef GDK_WINDOWING_QUARTZ + scroll_unit = 1; +#else scroll_unit = pow (page_size, 2.0 / 3.0); +#endif new_value = CLAMP (gtk_adjustment_get_value (adj) + delta_x * scroll_unit, gtk_adjustment_get_lower (adj), @@ -2447,7 +2452,12 @@ gtk_scrolled_window_scroll_event (GtkWidget *widget, adj = gtk_range_get_adjustment (GTK_RANGE (priv->vscrollbar)); page_size = gtk_adjustment_get_page_size (adj); + +#ifdef GDK_WINDOWING_QUARTZ + scroll_unit = 1; +#else scroll_unit = pow (page_size, 2.0 / 3.0); +#endif new_value = CLAMP (gtk_adjustment_get_value (adj) + delta_y * scroll_unit, gtk_adjustment_get_lower (adj),