Summary:
When call efl_canvas_object_animation_animation_pause_set,
pd->in is freed by calling efl_canvas_object_animation_stop in _animator_cb.
So when set pause_state, crash occurred
This patch add null check to prevent null access.
Test Plan: N/A
Reviewers: Hermet, kimcinoo, herb, bu5hm4n
Reviewed By: Hermet, bu5hm4n
Subscribers: bu5hm4n, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11815
The duration of animation means how long the animation is executed.
Therefore, if duration is 0, then the final state of animation should be
applied to the target object immediately.
In this case, if final_state_keep is true, then the final state of
animation is preserved. Otherwise, the final state of animation is not
preserved.
ref T8436, T8513
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10812
Summary:
play_count is a tad simpler to understand, since it means the TOTAL number of
times the animation will play.
The default value is now 1, and 0 means INFINITE (instead of -1). This allows
removing yet another constant from header files.
Depends on D10799
Test Plan: Everything builds and passes tests. Elm_test Animation.Repeat has been adjusted accordingly.
Reviewers: bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10800
now if one of the event handlers calls animation_stop in a callback to
EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_PROGRESS_UPDATED, then
pd->in will be freeed. Which means, in the next event handler the
address taken by &pd->in->progress might be invalid, leading to a crash.
With this commit this is a address on the stack, which should fix this.
Summary:
when a callback is called, the in pointer might be free'ed, we should be
more carefull with that.
fix CID1407682
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10713
this brings the animation to the canvas object. All the controls of the
animation now do now require a player object anymore, you can just use
the API that is directly on the Efl.Canvas.Object object.
wip animation player replacement
Differential Revision: https://phab.enlightenment.org/D10615