summaryrefslogtreecommitdiff
path: root/src/ui/documentwidget.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/documentwidget.c')
-rw-r--r--src/ui/documentwidget.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/ui/documentwidget.c b/src/ui/documentwidget.c
index 13f21df6..f1506fc3 100644
--- a/src/ui/documentwidget.c
+++ b/src/ui/documentwidget.c
@@ -947,6 +947,9 @@ static void refreshWhileScrolling_DocumentWidget_(iAny *ptr) {
947} 947}
948 948
949static void smoothScroll_DocumentWidget_(iDocumentWidget *d, int offset, int duration) { 949static void smoothScroll_DocumentWidget_(iDocumentWidget *d, int offset, int duration) {
950 if (!prefs_App()->smoothScrolling) {
951 duration = 0; /* always instant */
952 }
950 int destY = targetValue_Anim(&d->scrollY) + offset; 953 int destY = targetValue_Anim(&d->scrollY) + offset;
951 if (destY < 0) { 954 if (destY < 0) {
952 destY = 0; 955 destY = 0;
@@ -958,7 +961,12 @@ static void smoothScroll_DocumentWidget_(iDocumentWidget *d, int offset, int dur
958 else { 961 else {
959 destY = 0; 962 destY = 0;
960 } 963 }
961 setValueEased_Anim(&d->scrollY, destY, duration); 964 if (duration) {
965 setValueEased_Anim(&d->scrollY, destY, duration);
966 }
967 else {
968 setValue_Anim(&d->scrollY, destY, 0);
969 }
962 updateVisible_DocumentWidget_(d); 970 updateVisible_DocumentWidget_(d);
963 refresh_Widget(as_Widget(d)); 971 refresh_Widget(as_Widget(d));
964 if (duration > 0) { 972 if (duration > 0) {