FRom daniel zaoui -> spotted issues with callback deletionon evas_free
that may cause evas's to not be freed. fixxxxors! SVN revision: 71552
This commit is contained in:
parent
3f662e32a7
commit
0ccd4cdf2a
|
@ -35,3 +35,4 @@ Rafal Krypa <r.krypa@samsung.com>
|
|||
Hyoyoung Chang <hyoyoung@gmail.com>
|
||||
Jérôme Pinot <ngc891@gmail.com>
|
||||
Rafael Antognolli <antognolli@profusion.mobi>
|
||||
Daniel Zaoui <daniel.zaoui@samsung.com>
|
||||
|
|
|
@ -37,7 +37,6 @@ _evas_post_event_callback_free(Evas *e)
|
|||
{
|
||||
EVAS_MEMPOOL_FREE(_mp_pc, pc);
|
||||
}
|
||||
_evas_unwalk(e);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -159,24 +159,10 @@ evas_free(Evas *e)
|
|||
return;
|
||||
MAGIC_CHECK_END();
|
||||
|
||||
if (e->walking_list == 0) evas_render_idle_flush(e);
|
||||
|
||||
if (e->walking_list > 0) return;
|
||||
evas_render_idle_flush(e);
|
||||
|
||||
if (e->callbacks)
|
||||
{
|
||||
if (e->callbacks->deletions_waiting) return;
|
||||
|
||||
e->callbacks->deletions_waiting = 0;
|
||||
evas_event_callback_list_post_free(&e->callbacks->callbacks);
|
||||
if (!e->callbacks->callbacks)
|
||||
{
|
||||
free(e->callbacks);
|
||||
e->callbacks = NULL;
|
||||
}
|
||||
|
||||
_evas_post_event_callback_free(e);
|
||||
}
|
||||
_evas_post_event_callback_free(e);
|
||||
|
||||
del = 1;
|
||||
e->walking_list++;
|
||||
|
|
Loading…
Reference in New Issue