hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=293e251f55be54bfb10c5a579b1ceb10ff3ca0de

commit 293e251f55be54bfb10c5a579b1ceb10ff3ca0de
Author: Jee-Yong Um <con...@gmail.com>
Date:   Thu Sep 8 10:59:54 2016 +0900

    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
---
 src/bin/edje/edje_cc_handlers.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index d150a54..efe728f 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)

-- 


Reply via email to