elm/hoversel: manually trigger group_calc for internal objects

hoversel doesn't implement group calc or do any sane type of sizing
so just manually call these on demand to ensure the correct size is used

fix T8127

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9632
This commit is contained in:
Mike Blumenkrantz 2019-08-19 13:39:11 -04:00 committed by Cedric BAIL
parent 1948bf0d07
commit 187425e12c
2 changed files with 3 additions and 0 deletions

View File

@ -501,6 +501,7 @@ _activate(Evas_Object *obj)
{
ELM_HOVERSEL_ITEM_DATA_GET(eo_item, item);
evas_object_show(VIEW(item));
efl_canvas_group_calculate(VIEW(item));
elm_box_pack_end(sd->bx, VIEW(item));
}

View File

@ -1437,6 +1437,8 @@ _hoversel_position(Evas_Object *obj)
edje_object_part_text_cursor_geometry_get
(sd->entry_edje, "elm.text", &cx, &cy, &cw, &ch);
if (efl_canvas_group_need_recalculate_get(sd->hoversel))
efl_canvas_group_calculate(sd->hoversel);
evas_object_size_hint_combined_min_get(sd->hoversel, &mw, &mh);
if (cx + mw > w)
cx = w - mw;