From 9013230dacbaa3b54d8d32f013c6ae07a6814cf3 Mon Sep 17 00:00:00 2001 From: Daniel Juyung Seo Date: Tue, 3 Dec 2013 23:49:30 +0900 Subject: [PATCH] elm_interface_scrollable.c: fix scroller page flick calculation roundup routine. When the offset is not bigger than 0 && abs(offset) is not smaller than dx(or dy), round up routine could have mis-calculation bug. It should substract one value more to get a proper round up result. For example, when x = 1440, offset = -2160, dx = 360, x should become 720 but round up routine made it 1440. Because it was rounded up from 1080 to 1440. It should be rounded down from 1079 to 720. Special thanks to Hosang Kim for the help. Signed-off-by: Daniel Juyung Seo Signed-off-by: Hosang Kim --- legacy/elementary/src/lib/elm_interface_scrollable.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/legacy/elementary/src/lib/elm_interface_scrollable.c b/legacy/elementary/src/lib/elm_interface_scrollable.c index 2d249a5..b9b6a2e 100644 --- a/legacy/elementary/src/lib/elm_interface_scrollable.c +++ b/legacy/elementary/src/lib/elm_interface_scrollable.c @@ -2127,7 +2127,7 @@ _elm_scroll_page_x_get(Elm_Scrollable_Smart_Interface_Data *sid, if (offset > 0) x += (abs(offset) < dx ? offset : dx); else - x += (abs(offset) < dx ? offset : -dx); + x += (abs(offset) < dx ? offset : -(dx + 1)); } if (sid->pagesize_h > 0) @@ -2167,7 +2167,7 @@ _elm_scroll_page_y_get(Elm_Scrollable_Smart_Interface_Data *sid, if (offset > 0) y += (abs(offset) < dy ? offset : dy); else - y += (abs(offset) < dy ? offset : -dy); + y += (abs(offset) < dy ? offset : -(dy + 1)); } if (sid->pagesize_v > 0) -- 2.7.4