}
if (dx != 0 || dy != 0)
- {
- g_signal_emit (controller, signals[SCROLL], 0, dx, dy, &handled);
+ g_signal_emit (controller, signals[SCROLL], 0, dx, dy, &handled);
- if (scroll->flags & GTK_EVENT_CONTROLLER_SCROLL_KINETIC)
- scroll_history_push (scroll, dx, dy, gdk_event_get_time (event));
- }
+ if (direction == GDK_SCROLL_SMOOTH &&
+ scroll->flags & GTK_EVENT_CONTROLLER_SCROLL_KINETIC)
+ scroll_history_push (scroll, dx, dy, gdk_event_get_time (event));
if (scroll->active && gdk_scroll_event_is_stop (event))
{