fix small leak - cannvas callbacks not cleaned.

SVN revision: 47551
This commit is contained in:
Carsten Haitzler 2010-03-29 02:40:49 +00:00
parent 6d0651d4f2
commit 46e1d8a866
3 changed files with 13 additions and 0 deletions

View File

@ -73,6 +73,16 @@ evas_object_event_callback_cleanup(Evas_Object *obj)
obj->callbacks = NULL;
}
void
evas_event_callback_cleanup(Evas *e)
{
/* MEM OK */
if (!e->callbacks) return;
evas_event_callback_list_post_free(&e->callbacks->callbacks);
free(e->callbacks);
e->callbacks = NULL;
}
void
evas_event_callback_call(Evas *e, Evas_Callback_Type type, void *event_info)
{

View File

@ -238,6 +238,8 @@ evas_free(Evas *e)
eina_rectangle_free(r);
evas_fonts_zero_free(e);
evas_event_callback_cleanup(e);
if (e->engine.func)
{

View File

@ -792,6 +792,7 @@ void *evas_mem_calloc(int size);
void evas_event_callback_list_post_free(Eina_Inlist **list);
void evas_object_event_callback_all_del(Evas_Object *obj);
void evas_object_event_callback_cleanup(Evas_Object *obj);
void evas_event_callback_cleanup(Evas *e);
void evas_object_inform_call_show(Evas_Object *obj);
void evas_object_inform_call_hide(Evas_Object *obj);
void evas_object_inform_call_move(Evas_Object *obj);