summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJee-Yong Um <conr2d@gmail.com>2016-09-08 10:59:54 +0900
committerHermet Park <hermet@hermet.pe.kr>2016-09-08 11:00:40 +0900
commit293e251f55be54bfb10c5a579b1ceb10ff3ca0de (patch)
treead422023d98818c58d15e9140eaf61a873ef027f
parent7ce79be1a1748c32c4d0e58358ce2242902cf89b (diff)
downloadefl-293e251f55be54bfb10c5a579b1ceb10ff3ca0de.tar.gz
edje_cc: remove after programs lookup when removing program
Summary: When removing program, program lookups for its after programs should be removed. @fix Reviewers: cedric, jpeg, Hermet Reviewed By: Hermet Subscribers: taxi2se Differential Revision: https://phab.enlightenment.org/D4286
-rw-r--r--src/bin/edje/edje_cc_handlers.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index d150a54c15..efe728f286 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -6095,6 +6095,17 @@ _program_remove(const char *name, Edje_Program **pgrms, unsigned int count)
{
Edje_Program *pr = pgrms[i];
+ if (pr->after)
+ {
+ Eina_List *l;
+ Edje_Program_After *pa;
+
+ EINA_LIST_FOREACH(pr->after, l, pa)
+ {
+ copied_program_lookup_delete(pc, (char *)(pa + 1));
+ }
+ }
+
_edje_program_remove(pc, pr);
if (pr->action == EDJE_ACTION_TYPE_SCRIPT)