elm_navigationbar_ex_item_icon_set(Elm_Navigationbar_ex_Item* item, Evas_Object *icon)\r
{\r
if (!item) return; \r
- edje_object_part_swallow(item->t_base, "elm.swallow.icon", icon);\r
- elm_widget_sub_object_add(item->obj, icon);\r
- edje_object_signal_emit(item->t_base, "elm,state,icon,visible", "elm");\r
+ if (item->icon == icon) return;\r
+ if (item->icon) evas_object_del(item->icon);\r
item->icon = icon;\r
+ if(icon)\r
+ {\r
+ edje_object_part_swallow(item->t_base, "elm.swallow.icon", icon);\r
+ elm_widget_sub_object_add(item->obj, icon);\r
+ edje_object_signal_emit(item->t_base, "elm,state,icon,visible", "elm");\r
+ edje_object_message_signal_process(item->t_base);\r
+ }\r
+ else\r
+ edje_object_signal_emit(item->t_base, "elm,state,icon,hidden", "elm");\r
}\r
\r
/**\r