elm_widget: dont use the inner var for searching the top widget

you think there is only one elm_parent behind the elementary property
parent? Oh no! Elm_Notify and Elm_Popup have theire own parent fields,
and those fields are not returned when calleing elm_widget_parent_get,
they are also not given to the elm_widget implementation of
elm_widget_top_get, so a call to elm_widget_top_get stalls at elm.notify
or elm.popup.

fix T6389
This commit is contained in:
Marcel Hollerbach 2017-11-21 16:12:12 +01:00
parent eeb2809d9e
commit 8c68c85706
1 changed files with 4 additions and 3 deletions

View File

@ -1927,10 +1927,11 @@ elm_widget_highlight_get(const Eo *obj)
EOLIAN static Evas_Object*
_elm_widget_widget_top_get(Eo *obj, Elm_Widget_Smart_Data *sd)
{
if (sd->parent_obj)
Elm_Widget *parent = elm_widget_parent_get(obj);
if (parent)
{
if (!efl_isa(sd->parent_obj, ELM_WIDGET_CLASS)) return NULL;
return efl_ui_widget_top_get(sd->parent_obj);
if (!efl_isa(parent, ELM_WIDGET_CLASS)) return NULL;
return efl_ui_widget_top_get(parent);
}
return obj;
}