static void
_del_pre_hook(Evas_Object *obj)
{
+ Widget_Data *wd = elm_widget_data_get(obj);
+ evas_object_event_callback_del(wd->entry, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
+ _changed_size_hints);
elm_anchorblock_hover_end(obj);
elm_anchorblock_hover_parent_set(obj, NULL);
}
{
Item *it = data;
Evas_Object *obj2 = it->obj;
+ elm_hoversel_hover_end(obj2);
if (it->func) it->func(it->data, obj2, NULL);
evas_object_smart_callback_call(obj2, "selected", NULL);
- elm_hoversel_hover_end(obj2);
}
static void
wd->content = NULL;
_sizing_eval(obj);
}
- if (sub == wd->icon)
+ else if (sub == wd->icon)
{
evas_object_event_callback_del
(sub, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints);
edje_object_part_swallow(wd->bbl, "elm.swallow.content", content);
evas_object_event_callback_add(content, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
_changed_size_hints, obj);
- _sizing_eval(obj);
}
+ _sizing_eval(obj);
}
EAPI void
edje_object_part_swallow(wd->bbl, "elm.swallow.icon", icon);
evas_object_event_callback_add(icon, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
_changed_size_hints, obj);
- _sizing_eval(obj);
}
+ _sizing_eval(obj);
}
EAPI void
if (obj == sd->resize_obj)
{
sd->resize_obj = NULL;
- evas_object_smart_callback_call(sd->obj, "sub-object-del", obj);
}
else if (obj == sd->hover_obj) sd->hover_obj = NULL;
else
{
sd->subobjs = eina_list_remove(sd->subobjs, obj);
- evas_object_smart_callback_call(sd->obj, "sub-object-del", obj);
}
+ evas_object_smart_callback_call(sd->obj, "sub-object-del", obj);
}
static void
{
evas_object_event_callback_del(sd->resize_obj, EVAS_CALLBACK_DEL, _sub_obj_del);
sd->resize_obj = NULL;
+ evas_object_smart_callback_call(sd->obj, "sub-object-del", sd->resize_obj);
evas_object_del(sd->resize_obj);
}
if (sd->hover_obj)
{
evas_object_event_callback_del(sd->hover_obj, EVAS_CALLBACK_DEL, _sub_obj_del);
sd->hover_obj = NULL;
+ evas_object_smart_callback_call(sd->obj, "sub-object-del", sd->hover_obj);
evas_object_del(sd->hover_obj);
}
while (sd->subobjs)
sobj = sd->subobjs->data;
sd->subobjs = eina_list_remove_list(sd->subobjs, sd->subobjs);
evas_object_event_callback_del(sobj, EVAS_CALLBACK_DEL, _sub_obj_del);
+ evas_object_smart_callback_call(sd->obj, "sub-object-del", sobj);
evas_object_del(sobj);
}
if (sd->del_func) sd->del_func(obj);