From 4b8fe27c3ae38f993898b4f99e92de7b9f671601 Mon Sep 17 00:00:00 2001 From: Julien Heanley Date: Mon, 30 Jun 2014 10:51:33 +0100 Subject: [PATCH] ScrollView - Fix wrapping issue in FixedRuler::GetPageFromPosition [problem] Incorrect page would be returned from FixedRuler::GatePageFromPosition when continuously panning right [cause] An unwrapped value is passed in since the scrolling never finishes [solution] Wrap the value internally before checking position against domain size Change-Id: I4eaad7a2bfc7c711b53ed310372fd85f6ee77bfb Signed-off-by: Julien Heanley Signed-off-by: Adeel Kazmi --- .../public-api/controls/scrollable/scroll-view/scroll-view.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.cpp b/base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.cpp index db5797e..ca6bb4f 100644 --- a/base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.cpp +++ b/base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.cpp @@ -239,6 +239,10 @@ unsigned int FixedRuler::GetPageFromPosition(float position, bool wrap) const // spacing must be present. if(mEnabled && fabsf(mSpacing) > Math::MACHINE_EPSILON_1) { + if( wrap ) + { + position = WrapInDomain(position, mDomain.min, mDomain.max); + } page = floor((position - mDomain.min) / mSpacing + 0.5f); if(wrap) -- 2.7.4