summaryrefslogtreecommitdiff
path: root/src/lib/edje/edje_embryo.c
diff options
context:
space:
mode:
authorzmike <michael.blumenkrantz@gmail.com>2014-09-04 21:05:05 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2014-09-04 21:08:08 -0400
commit71ce70bc3f97853f3cfeb07ab0a9d8c213e322b1 (patch)
treeca8eed4857bb26cbc7f0c4bfab429ddade1e2901 /src/lib/edje/edje_embryo.c
parentc3e2750408d3a13320099038268bcca400c22123 (diff)
edje embryo stop_program() should stop pending actions
ACTION_STOP already does this @fix
Diffstat (limited to 'src/lib/edje/edje_embryo.c')
-rw-r--r--src/lib/edje/edje_embryo.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/lib/edje/edje_embryo.c b/src/lib/edje/edje_embryo.c
index 7924771c04..1a4e24d6a9 100644
--- a/src/lib/edje/edje_embryo.c
+++ b/src/lib/edje/edje_embryo.c
@@ -799,7 +799,8 @@ _edje_embryo_fn_stop_program(Embryo_Program *ep, Embryo_Cell *params)
799 Edje *ed; 799 Edje *ed;
800 int program_id = 0; 800 int program_id = 0;
801 Edje_Running_Program *runp; 801 Edje_Running_Program *runp;
802 Eina_List *l; 802 Edje_Pending_Program *pp;
803 Eina_List *l, *ll;
803 804
804 CHKPARAM(1); 805 CHKPARAM(1);
805 ed = embryo_program_data_get(ep); 806 ed = embryo_program_data_get(ep);
@@ -811,6 +812,13 @@ _edje_embryo_fn_stop_program(Embryo_Program *ep, Embryo_Cell *params)
811 EINA_LIST_FOREACH(ed->actions, l, runp) 812 EINA_LIST_FOREACH(ed->actions, l, runp)
812 if (program_id == runp->program->id) 813 if (program_id == runp->program->id)
813 _edje_program_end(ed, runp); 814 _edje_program_end(ed, runp);
815 EINA_LIST_FOREACH_SAFE(ed->pending_actions, l, ll, pp)
816 if (program_id == pp->program->id)
817 {
818 ed->pending_actions = eina_list_remove_list(ed->pending_actions, l);
819 ecore_timer_del(pp->timer);
820 free(pp);
821 }
814 822
815 ed->walking_actions = EINA_FALSE; 823 ed->walking_actions = EINA_FALSE;
816 824