discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=6b2a9a0f7baae7e4fca30c7235d42498586df52b
commit 6b2a9a0f7baae7e4fca30c7235d42498586df52b Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Fri Aug 18 15:52:52 2017 -0400 set gadget ctxpopup priority based on anchor fix T5877 --- src/bin/e_gadget.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/bin/e_gadget.c b/src/bin/e_gadget.c index f6fca87e3..37b23ebd4 100644 --- a/src/bin/e_gadget.c +++ b/src/bin/e_gadget.c @@ -2037,6 +2037,7 @@ e_gadget_util_ctxpopup_place(Evas_Object *g, Evas_Object *ctx, Evas_Object *pos_ E_Layer layer; E_Gadget_Config *zgc; Evas_Object *content; + Elm_Ctxpopup_Direction first, second; EINA_SAFETY_ON_NULL_RETURN(g); zgc = evas_object_data_get(g, "__e_gadget"); @@ -2055,12 +2056,18 @@ e_gadget_util_ctxpopup_place(Evas_Object *g, Evas_Object *ctx, Evas_Object *pos_ if (zgc->site->orient == E_GADGET_SITE_ORIENT_HORIZONTAL) { x += w / 2; - elm_ctxpopup_direction_priority_set(ctx, ELM_CTXPOPUP_DIRECTION_UP, ELM_CTXPOPUP_DIRECTION_DOWN, 0, 0); + first = ELM_CTXPOPUP_DIRECTION_UP, second = ELM_CTXPOPUP_DIRECTION_DOWN; + if (zgc->site->anchor & E_GADGET_SITE_ANCHOR_TOP) + first = ELM_CTXPOPUP_DIRECTION_DOWN, second = ELM_CTXPOPUP_DIRECTION_UP; + elm_ctxpopup_direction_priority_set(ctx, first, second, 0, 0); } else if (zgc->site->orient == E_GADGET_SITE_ORIENT_VERTICAL) { y += h / 2; - elm_ctxpopup_direction_priority_set(ctx, ELM_CTXPOPUP_DIRECTION_RIGHT, ELM_CTXPOPUP_DIRECTION_LEFT, 0, 0); + first = ELM_CTXPOPUP_DIRECTION_LEFT, second = ELM_CTXPOPUP_DIRECTION_RIGHT; + if (zgc->site->anchor & E_GADGET_SITE_ANCHOR_LEFT) + first = ELM_CTXPOPUP_DIRECTION_RIGHT, second = ELM_CTXPOPUP_DIRECTION_LEFT; + elm_ctxpopup_direction_priority_set(ctx, first, second, 0, 0); } evas_object_move(ctx, x, y); evas_object_event_callback_add(ctx, EVAS_CALLBACK_SHOW, _gadget_util_ctxpopup_visibility, NULL); --