summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunsuChoi <jsuya.choi@samsung.com>2019-12-23 17:39:21 +0900
committerHermet Park <hermetpark@gmail.com>2019-12-23 17:39:35 +0900
commit74c60b7887bfb2b624becac879db68dc8323249e (patch)
treec6df093a549c4f4ea553f3fd99f7158e3a52b509
parentb9b9287454bf8f17fa53611625529d4498b06faf (diff)
downloadefl-74c60b7887bfb2b624becac879db68dc8323249e.tar.gz
Elm_Transit: Fix wrong intervention progress value
Summary: If progress_value_set is called more than once, an error value occurs. The intervention progress must use progress that does not apply the previous intervention progress. Test Plan: meson_option.txt -> remove json in evas-loaders-disabler option elementary_test -to "animation view" Click Play -> Play back -> Play Reviewers: Hermet Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10907
-rw-r--r--src/lib/elementary/elm_transit.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/elementary/elm_transit.c b/src/lib/elementary/elm_transit.c
index 31c7961f50..39dc755604 100644
--- a/src/lib/elementary/elm_transit.c
+++ b/src/lib/elementary/elm_transit.c
@@ -61,6 +61,7 @@ struct _Elm_Transit
} repeat;
double progress;
double inter_progress;
+ double base_progress;
double revert_begin_progress;
double revert_duration;
double total_revert_time;
@@ -359,6 +360,7 @@ _transit_animate_cb(void *data)
}
/* Intervention Progress */
+ transit->base_progress = transit->progress;
transit->progress += transit->inter_progress;
switch (transit->tween_mode)
@@ -956,7 +958,7 @@ elm_transit_progress_value_set(Elm_Transit *transit, double progress)
if (progress < 0) progress = 0;
else if (progress > 1) progress = 1;
- transit->inter_progress = (progress - transit->progress);
+ transit->inter_progress = (progress - transit->base_progress);
}
EAPI double