Avoid invalid read, remove useless calls.

e_object_del(E_OBJECT(pop->win)) will call ecore_evas_free() which
calls evas_free() which deletes all the objects, making pop->o_bg a
invalid read in its evas_object_del(). So it must be reordered, even
better the evas_object_del(pop->o_bg) can be avoided.

Since the window is deleted, no need to e_gadcon_popup_toggle_pinned()
it.

PS: need to check if there are users of o_con, if not, it should be
removed too.


SVN revision: 33679
This commit is contained in:
Gustavo Sverzut Barbieri 2008-02-05 16:33:24 +00:00
parent 5c2641e5dd
commit 5ebcf31112
1 changed files with 1 additions and 3 deletions

View File

@ -175,9 +175,7 @@ static void
_e_gadcon_popup_free(E_Gadcon_Popup *pop)
{
pop->gcc = NULL;
e_object_del(E_OBJECT(pop->win));
if (pop->pinned) e_gadcon_popup_toggle_pinned(pop);
if (pop->o_bg) evas_object_del(pop->o_bg);
if (pop->o_con) evas_object_del(pop->o_con);
e_object_del(E_OBJECT(pop->win));
free(pop);
}