forked from enlightenment/enlightenment
* e: prevent segv when reinserting the same object. Should never happen
but better to not segv. SVN revision: 47558
This commit is contained in:
parent
9f4f9be6ac
commit
70969e8b9f
|
@ -49,14 +49,17 @@ e_gadcon_popup_content_set(E_Gadcon_Popup *pop, Evas_Object *o)
|
||||||
E_OBJECT_TYPE_CHECK(pop, E_GADCON_POPUP_TYPE);
|
E_OBJECT_TYPE_CHECK(pop, E_GADCON_POPUP_TYPE);
|
||||||
|
|
||||||
old_o = edje_object_part_swallow_get(pop->o_bg, "e.swallow.content");
|
old_o = edje_object_part_swallow_get(pop->o_bg, "e.swallow.content");
|
||||||
if (old_o)
|
if (old_o != o)
|
||||||
{
|
{
|
||||||
edje_object_part_unswallow(pop->o_bg, old_o);
|
if (old_o)
|
||||||
evas_object_del(old_o);
|
{
|
||||||
|
edje_object_part_unswallow(pop->o_bg, old_o);
|
||||||
|
evas_object_del(old_o);
|
||||||
|
}
|
||||||
|
edje_object_part_swallow(pop->o_bg, "e.swallow.content", o);
|
||||||
|
evas_object_event_callback_add(o, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
|
||||||
|
_e_gadcon_popup_changed_size_hints_cb, pop);
|
||||||
}
|
}
|
||||||
edje_object_part_swallow(pop->o_bg, "e.swallow.content", o);
|
|
||||||
evas_object_event_callback_add(o, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
|
|
||||||
_e_gadcon_popup_changed_size_hints_cb, pop);
|
|
||||||
|
|
||||||
_e_gadcon_popup_size_recalc(pop, o);
|
_e_gadcon_popup_size_recalc(pop, o);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue