Enlightenment CVS committal

Author  : barbieri
Project : e17
Module  : libs/edje

Dir     : e17/libs/edje/src/lib


Modified Files:
        edje_program.c 


Log Message:
Delay patterns destruction until patterns is not used anymore.


Patch by Cedric BAIL.

===================================================================
RCS file: /cvs/e/e17/libs/edje/src/lib/edje_program.c,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -3 -r1.56 -r1.57
--- edje_program.c      21 Feb 2008 18:48:36 -0000      1.56
+++ edje_program.c      26 Feb 2008 17:56:51 -0000      1.57
@@ -106,7 +106,8 @@
        escb->just_added = 1;
        ed->just_added_callbacks = 1;
      }
-   _edje_clean_callbacks_patterns(ed);
+   else
+     _edje_clean_callbacks_patterns(ed);
 }
 
 /** Remove a callback from an object
@@ -976,6 +977,10 @@
    _edje_ref(ed);
    _edje_freeze(ed);
    _edje_block(ed);
+
+   if (ed->just_added_callbacks)
+     _edje_clean_callbacks_patterns(ed);
+
    ed->walking_callbacks = 1;
 
    if (ed->callbacks)
@@ -1015,8 +1020,6 @@
               escb->just_added = 0;
             if (escb->delete_me)
               {
-                 _edje_clean_callbacks_patterns(ed);
-
                  ed->callbacks = evas_list_remove_list(ed->callbacks, l);
                  if (escb->signal) evas_stringshare_del(escb->signal);
                  if (escb->source) evas_stringshare_del(escb->source);
@@ -1024,6 +1027,8 @@
               }
             l = next_l;
          }
+
+        _edje_clean_callbacks_patterns(ed);
      }
    break_prog:
    _edje_unblock(ed);



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to