From: Daniel Juyung Seo Date: Tue, 3 Dec 2013 14:49:30 +0000 (+0900) Subject: elm_interface_scrollable.c: fix scroller page flick calculation roundup routine. X-Git-Tag: upstream/1.20.0~7116^2~14^2~3642 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9013230dacbaa3b54d8d32f013c6ae07a6814cf3;p=platform%2Fupstream%2Fefl.git 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 --- 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)