Enlightenment CVS committal

Author  : barbieri
Project : e17
Module  : libs/edje

Dir     : e17/libs/edje/src/lib


Modified Files:
        edje_load.c edje_main.c edje_private.h edje_program.c 


Log Message:
Cleanup for possible memory leak.

Patch by Cedric BAIL.

===================================================================
RCS file: /cvs/e/e17/libs/edje/src/lib/edje_load.c,v
retrieving revision 1.113
retrieving revision 1.114
diff -u -3 -r1.113 -r1.114
--- edje_load.c 22 Feb 2008 10:42:50 -0000      1.113
+++ edje_load.c 26 Feb 2008 18:41:43 -0000      1.114
@@ -608,6 +608,15 @@
    _edje_message_del(ed);
    _edje_block_violate(ed);
    _edje_var_shutdown(ed);
+
+   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;
+
    if (!((ed->file) && (ed->collection))) return;
    if ((ed->file) && (ed->collection))
      {
===================================================================
RCS file: /cvs/e/e17/libs/edje/src/lib/edje_main.c,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -3 -r1.52 -r1.53
--- edje_main.c 5 Oct 2007 05:12:37 -0000       1.52
+++ edje_main.c 26 Feb 2008 18:41:44 -0000      1.53
@@ -90,6 +90,7 @@
        return;
      }
    _edje_message_del(ed);
+   _edje_clean_callbacks_patterns(ed);
    _edje_file_del(ed);
    if (ed->path) evas_stringshare_del(ed->path);
    if (ed->part) evas_stringshare_del(ed->part);
===================================================================
RCS file: /cvs/e/e17/libs/edje/src/lib/edje_private.h,v
retrieving revision 1.138
retrieving revision 1.139
diff -u -3 -r1.138 -r1.139
--- edje_private.h      21 Feb 2008 18:48:36 -0000      1.138
+++ edje_private.h      26 Feb 2008 18:41:44 -0000      1.139
@@ -1028,6 +1028,7 @@
 void  _edje_program_run(Edje *ed, Edje_Program *pr, int force, const char 
*ssig, const char *ssrc);
 void  _edje_emit(Edje *ed, const char *sig, const char *src);
 void  _edje_emit_handle(Edje *ed, const char *sig, const char *src);
+void  _edje_clean_callbacks_patterns(Edje *ed);
 
 void           _edje_text_init(void);
 void           _edje_text_part_on_add(Edje *ed, Edje_Real_Part *ep);
===================================================================
RCS file: /cvs/e/e17/libs/edje/src/lib/edje_program.c,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -3 -r1.57 -r1.58
--- edje_program.c      26 Feb 2008 17:56:51 -0000      1.57
+++ edje_program.c      26 Feb 2008 18:41:44 -0000      1.58
@@ -5,7 +5,6 @@
 #include "edje_private.h"
 
 static void _edje_emit_cb(Edje *ed, const char *sig, const char *src);
-static void _edje_clean_callbacks_patterns(Edje *ed);
 
 int             _edje_anim_count = 0;
 Ecore_Animator *_edje_timer = NULL;
@@ -1036,7 +1035,7 @@
    _edje_unref(ed);
 }
 
-static void
+void
 _edje_clean_callbacks_patterns(Edje *ed)
 {
    if (ed->patterns.callbacks.signals_patterns)



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