diff --git a/legacy/elementary/src/lib/Elementary.h.in b/legacy/elementary/src/lib/Elementary.h.in index 2653a9e08e..d37dc4d246 100644 --- a/legacy/elementary/src/lib/Elementary.h.in +++ b/legacy/elementary/src/lib/Elementary.h.in @@ -14847,7 +14847,7 @@ extern "C" { * * @ingroup Toolbar */ - EAPI Evas_Object *elm_toolbar_item_menu_get(Elm_Toolbar_Item *item) EINA_ARG_NONNULL(1); + EAPI Evas_Object *elm_toolbar_item_menu_get(const Elm_Toolbar_Item *item) EINA_ARG_NONNULL(1); /** * Add a new state to @p item. diff --git a/legacy/elementary/src/lib/elm_toolbar.c b/legacy/elementary/src/lib/elm_toolbar.c index 5feae353ef..8f9e524909 100644 --- a/legacy/elementary/src/lib/elm_toolbar.c +++ b/legacy/elementary/src/lib/elm_toolbar.c @@ -1755,14 +1755,11 @@ elm_toolbar_item_cursor_engine_only_get(const Elm_Toolbar_Item *item) } EAPI Evas_Object * -elm_toolbar_item_menu_get(Elm_Toolbar_Item *item) +elm_toolbar_item_menu_get(const Elm_Toolbar_Item *item) { ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(item, NULL); Widget_Data *wd = elm_widget_data_get(item->base.widget); - if (!wd) return NULL; - /* FIXME: It's not ok. This function needs to be reviewed. And should - * receive a const item */ - elm_toolbar_item_menu_set(item, 1); + if ((!wd) || (!item->menu)) return NULL; return item->o_menu; }