summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_player.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/lib/evas/canvas/efl_canvas_animation_player.c b/src/lib/evas/canvas/efl_canvas_animation_player.c
index 1117c495ab..edc9bd1170 100644
--- a/src/lib/evas/canvas/efl_canvas_animation_player.c
+++ b/src/lib/evas/canvas/efl_canvas_animation_player.c
@@ -213,19 +213,21 @@ _efl_canvas_animation_player_efl_player_stop(Eo *eo_obj,
213 (!(efl_animation_repeat_count_get(anim) & 1))) 213 (!(efl_animation_repeat_count_get(anim) & 1)))
214 { 214 {
215 pd->progress = 1.0; 215 pd->progress = 1.0;
216 efl_animation_apply(anim, pd->progress,
217 efl_animation_player_target_get(eo_obj));
216 } 218 }
217 else 219 else
218 { 220 {
219 pd->progress = 0.0; 221 pd->progress = 0.0;
222 efl_gfx_map_reset(efl_animation_player_target_get(eo_obj));
220 } 223 }
224 efl_event_callback_call(eo_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, NULL);
221 } 225 }
222 else 226 else
223 { 227 {
224 pd->progress = 0.0; 228 pd->progress = 0.0;
229 efl_gfx_map_reset(efl_animation_player_target_get(eo_obj));
225 } 230 }
226 efl_animation_apply(anim, pd->progress, efl_animation_player_target_get(eo_obj));
227 if (play)
228 efl_event_callback_call(eo_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, NULL);
229 231
230 if (pd->auto_del) efl_del(eo_obj); 232 if (pd->auto_del) efl_del(eo_obj);
231} 233}