diff options
author | JunsuChoi <jsuya.choi@samsung.com> | 2019-12-23 17:39:21 +0900 |
---|---|---|
committer | Hermet Park <hermetpark@gmail.com> | 2019-12-23 17:39:35 +0900 |
commit | 74c60b7887bfb2b624becac879db68dc8323249e (patch) | |
tree | c6df093a549c4f4ea553f3fd99f7158e3a52b509 | |
parent | b9b9287454bf8f17fa53611625529d4498b06faf (diff) | |
download | efl-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.c | 4 |
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 |