forked from enlightenment/efl
elm_menu: implement provider_find to walk the parent relation
it turns out elm_menu is special, it doesnt use parent_obj of elm_widget, it has his own parent field, which should be used.
This commit is contained in:
parent
79c93db365
commit
ac703d8229
|
@ -1506,6 +1506,20 @@ _elm_menu_efl_access_selection_selected_child_get(Eo *obj EINA_UNUSED, Elm_Menu_
|
|||
|
||||
}
|
||||
|
||||
EOLIAN static Efl_Object*
|
||||
_elm_menu_efl_object_provider_find(Eo *obj, Elm_Menu_Data *pd, const Efl_Object *klass)
|
||||
{
|
||||
Efl_Object *result;
|
||||
|
||||
result = efl_provider_find(pd->parent, klass);
|
||||
|
||||
if (result) return result;
|
||||
|
||||
return efl_provider_find(efl_super(obj, MY_CLASS), klass);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Internal EO APIs and hidden overrides */
|
||||
|
||||
#define ELM_MENU_EXTRA_OPS \
|
||||
|
|
|
@ -68,6 +68,7 @@ class Elm.Menu (Elm.Widget, Efl.Ui.Clickable, Efl.Ui.Menu,
|
|||
Efl.Ui.Menu.first_item { get; }
|
||||
Efl.Ui.Menu.last_item { get; }
|
||||
Efl.Ui.Menu.items { get; }
|
||||
Efl.Object.provider_find;
|
||||
}
|
||||
events {
|
||||
dismissed; [[Called when menu widget was dismissed]]
|
||||
|
|
Loading…
Reference in New Issue