evas_object_event_callback_del_full
(sub, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints, obj);
wd->icon = NULL;
+ edje_object_message_signal_process(wd->progressbar);
_sizing_eval(obj);
}
}
/**
* Set the icon object of the progressbar object
*
- * Once the icon object is set, it will become a child of the progressbar object and
- * be deleted when the progressbar object is deleted. If another icon object is set
- * then the previous one becomes orophaned and will no longer be deleted along
- * with the progressbar.
+ * Once the icon object is set, a previously set one will be deleted.
*
* @param obj The progressbar object
* @param icon The icon object
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
- if ((wd->icon != icon) && (wd->icon))
- elm_widget_sub_object_del(obj, wd->icon);
+ if (wd->icon == icon) return;
+ if (wd->icon) evas_object_del(wd->icon);
wd->icon = icon;
if (icon)
{
_changed_size_hints, obj);
edje_object_part_swallow(wd->progressbar, "elm.swallow.content", icon);
edje_object_signal_emit(wd->progressbar, "elm,state,icon,visible", "elm");
- _sizing_eval(obj);
+ edje_object_message_signal_process(wd->progressbar);
}
+ _sizing_eval(obj);
}
/**