diff options
author | Martin Pohlack <mp26@os.inf.tu-dresden.de> | 2009-05-06 22:19:55 (GMT) |
---|---|---|
committer | Nickolay V. Shmyrev <nshmyrev@yandex.ru> | 2009-05-06 22:19:55 (GMT) |
commit | 316ee91e01fdd17aff03a63504314a17bf23dd59 (patch) | |
tree | cd1c1428953cf19a21baed86c375c0d20e129730 /libview | |
parent | 08635436620ee28d5ff4439b39a0b31a50b186e4 (diff) |
[ui] Disables bouncing during scrolling
It appeared to be annoying. Fixes GNOME bug #533534
Diffstat (limited to 'libview')
-rw-r--r-- | libview/ev-view.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libview/ev-view.c b/libview/ev-view.c index 8e7fc4a..8474516 100644 --- a/libview/ev-view.c +++ b/libview/ev-view.c @@ -2857,12 +2857,14 @@ ev_view_scroll_drag_release (EvView *view) oldhadjustment = gtk_adjustment_get_value (view->hadjustment); oldvadjustment = gtk_adjustment_get_value (view->vadjustment); - if (((oldhadjustment + dhadj_value) > (view->hadjustment->upper - view->hadjustment->page_size)) || + /* When we reach the edges, we need either to absorb some momentum and bounce by + * multiplying it on -0.5 or stop scrolling by setting momentum to 0. */ + if (((oldhadjustment + dhadj_value) > (view->hadjustment->upper - view->hadjustment->page_size)) || ((oldhadjustment + dhadj_value) < 0)) - view->drag_info.momentum.x *= -0.5; /* 0.5 rather than 1 means the edges absorb some momentum */ + view->drag_info.momentum.x = 0; if (((oldvadjustment + dvadj_value) > (view->vadjustment->upper - view->vadjustment->page_size)) || ((oldvadjustment + dvadj_value) < 0)) - view->drag_info.momentum.y *= -0.5; + view->drag_info.momentum.y = 0; gtk_adjustment_set_value (view->hadjustment, MIN (oldhadjustment + dhadj_value, |