Enlightenment CVS committal

Author  : barbieri
Project : e17
Module  : libs/edje

Dir     : e17/libs/edje/src/lib


Modified Files:
        edje_main.c edje_load.c 


Log Message:
Fix a memory leak on edje destruction.

Patch by Cedric BAIL.

===================================================================
RCS file: /cvs/e/e17/libs/edje/src/lib/edje_main.c,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -3 -r1.53 -r1.54
--- edje_main.c 26 Feb 2008 18:41:44 -0000      1.53
+++ edje_main.c 26 Feb 2008 19:06:33 -0000      1.54
@@ -146,6 +146,11 @@
        if (tc->font) evas_stringshare_del(tc->font);
        free(tc);
      }
+   if (ed->patterns.callbacks.signals_patterns)
+     {
+       edje_match_patterns_free(ed->patterns.callbacks.signals_patterns);
+       edje_match_patterns_free(ed->patterns.callbacks.sources_patterns);
+     }
    free(ed);
 }
 
===================================================================
RCS file: /cvs/e/e17/libs/edje/src/lib/edje_load.c,v
retrieving revision 1.114
retrieving revision 1.115
diff -u -3 -r1.114 -r1.115
--- edje_load.c 26 Feb 2008 18:41:43 -0000      1.114
+++ edje_load.c 26 Feb 2008 19:06:33 -0000      1.115
@@ -408,11 +408,6 @@
               }
          }
 
-       if (ed->patterns.programs.signals_patterns)
-         {
-            edje_match_patterns_free(ed->patterns.programs.signals_patterns);
-            edje_match_patterns_free(ed->patterns.programs.sources_patterns);
-         }
        ed->patterns.programs.signals_patterns = 
edje_match_programs_signal_init(ed->collection->programs);
        ed->patterns.programs.sources_patterns = 
edje_match_programs_source_init(ed->collection->programs);
 
@@ -714,6 +709,14 @@
    if (ed->table_programs) free(ed->table_programs);
    ed->table_programs = NULL;
    ed->table_programs_size = 0;
+
+   if (ed->patterns.programs.signals_patterns)
+     {
+        edje_match_patterns_free(ed->patterns.programs.signals_patterns);
+        edje_match_patterns_free(ed->patterns.programs.sources_patterns);
+     }
+   ed->patterns.programs.signals_patterns = NULL;
+   ed->patterns.programs.sources_patterns = NULL;
 }
 /**
  * Used to free the cached data values that are stored in the data_cache



-------------------------------------------------------------------------
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