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