From: joogab.yun Date: Wed, 21 Sep 2022 03:46:54 +0000 (+0900) Subject: [Tizen] The problem arises when the timeDelta of the panEvent is 0. Fixed this. X-Git-Tag: accepted/tizen/6.0/unified/20220921.123832^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;ds=sidebyside;h=f481e24ca59e71eade268610a069f1032a240e30;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git [Tizen] The problem arises when the timeDelta of the panEvent is 0. Fixed this. Change-Id: I818598e4425f19fec9b5f0ce4d6ffb2927c9149e --- diff --git a/dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.cpp b/dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.cpp index b5dc886..853c009 100644 --- a/dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.cpp +++ b/dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.cpp @@ -1378,7 +1378,11 @@ bool AccessibilityManager::HandlePanGesture(const AccessibilityGestureEvent& pan DevelPanGesture::SetNumberOfTouches( pan, panEvent.numberOfTouches ); DevelPanGesture::SetScreenPosition( pan, panEvent.currentPosition ); DevelPanGesture::SetScreenDisplacement( pan, mPreviousPosition - panEvent.currentPosition ); - DevelPanGesture::SetScreenVelocity( pan, Vector2( pan.GetScreenDisplacement().x / panEvent.timeDelta, pan.GetScreenDisplacement().y / panEvent.timeDelta ) ); + // Avoid dividing by 0 + if(panEvent.timeDelta > 0) + { + DevelPanGesture::SetScreenVelocity( pan, Vector2( pan.GetScreenDisplacement().x / panEvent.timeDelta, pan.GetScreenDisplacement().y / panEvent.timeDelta ) ); + } // Only handle the pan gesture when the current focused actor is scrollable or within a scrollable actor while(mCurrentGesturedActor && mCurrentGesturedActor != rootActor && !handled) @@ -1394,7 +1398,11 @@ bool AccessibilityManager::HandlePanGesture(const AccessibilityGestureEvent& pan control.ScreenToLocal( localPrevious.x, localPrevious.y, mPreviousPosition.x, mPreviousPosition.y ); DevelPanGesture::SetDisplacement( pan, localCurrent - localPrevious ); - DevelPanGesture::SetVelocity( pan, Vector2( pan.GetDisplacement().x / panEvent.timeDelta, pan.GetDisplacement().y / panEvent.timeDelta )); + // Avoid dividing by 0 + if(panEvent.timeDelta > 0) + { + DevelPanGesture::SetVelocity( pan, Vector2( pan.GetDisplacement().x / panEvent.timeDelta, pan.GetDisplacement().y / panEvent.timeDelta )); + } handled = GetImplementation( control ).OnAccessibilityPan(pan); }