[libhandy] swipe-tracker: Clamp position when long swipes are enabled too



commit 1366d987b8b5455304a91790326dd766ecb8a1be
Author: Alexander Mikhaylenko <alexm gnome org>
Date:   Mon Mar 1 22:56:47 2021 +0500

    swipe-tracker: Clamp position when long swipes are enabled too
    
    Avoid wrapping back to the first page when swiping forward from the last
    page.

 src/hdy-swipe-tracker.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
---
diff --git a/src/hdy-swipe-tracker.c b/src/hdy-swipe-tracker.c
index edc1b0b6..1a2ff1dc 100644
--- a/src/hdy-swipe-tracker.c
+++ b/src/hdy-swipe-tracker.c
@@ -407,6 +407,7 @@ get_end_progress (HdySwipeTracker *self,
   gdouble pos, decel, slope;
   g_autofree gdouble *points = NULL;
   gint n;
+  gdouble lower, upper;
 
   if (self->cancelled)
     return hdy_swipeable_get_cancel_progress (self->swipeable);
@@ -433,13 +434,13 @@ get_end_progress (HdySwipeTracker *self,
   pos = (pos * SIGN (velocity)) + self->progress;
 
   if (!self->allow_long_swipes) {
-    gdouble lower, upper;
 
     get_bounds (self, points, n, self->initial_progress, &lower, &upper);
-
-    pos = CLAMP (pos, lower, upper);
+  } else {
+    get_range (self, &lower, &upper);
   }
 
+  pos = CLAMP (pos, lower, upper);
   pos = points[find_point_for_projection (self, points, n, pos, velocity)];
 
   return pos;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]