Cleanup for possible memory leak.

Patch by Cedric BAIL.


SVN revision: 33853
This commit is contained in:
Gustavo Sverzut Barbieri 2008-02-26 18:41:44 +00:00
parent 833e075b9a
commit 30b26c0937
4 changed files with 12 additions and 2 deletions

View File

@ -608,6 +608,15 @@ _edje_file_del(Edje *ed)
_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))
{

View File

@ -90,6 +90,7 @@ _edje_del(Edje *ed)
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);

View File

@ -1028,6 +1028,7 @@ void _edje_program_end(Edje *ed, Edje_Running_Program *runp);
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);

View File

@ -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_emit_cb(Edje *ed, const char *sig, const char *src)
_edje_unref(ed);
}
static void
void
_edje_clean_callbacks_patterns(Edje *ed)
{
if (ed->patterns.callbacks.signals_patterns)