diff --git a/sugar/graphics/animator.py b/sugar/graphics/animator.py index 2021f426..60ff9f39 100644 --- a/sugar/graphics/animator.py +++ b/sugar/graphics/animator.py @@ -75,10 +75,14 @@ class Animation(object): start = self.start change = self.end - self.start - if easing == EASE_OUT_EXPO: - frame = change * (-pow(2, -10 * time/duration) + 1) + start; - elif easing == EASE_IN_EXPO: - frame = change * pow(2, 10 * (time / duration - 1)) + start; + if time == duration: + # last frame + frame = self.end + else: + if easing == EASE_OUT_EXPO: + frame = change * (-pow(2, -10 * time/duration) + 1) + start; + elif easing == EASE_IN_EXPO: + frame = change * pow(2, 10 * (time / duration - 1)) + start; self.next_frame(frame)