diff options
author | Jee-Yong Um <conr2d@gmail.com> | 2016-09-08 10:59:54 +0900 |
---|---|---|
committer | Hermet Park <hermet@hermet.pe.kr> | 2016-09-08 11:00:40 +0900 |
commit | 293e251f55be54bfb10c5a579b1ceb10ff3ca0de (patch) | |
tree | ad422023d98818c58d15e9140eaf61a873ef027f | |
parent | 7ce79be1a1748c32c4d0e58358ce2242902cf89b (diff) | |
download | efl-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.c | 11 |
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) |