discomfitor pushed a commit to branch enlightenment-0.19. http://git.enlightenment.org/core/enlightenment.git/commit/?id=e7924ad814ad4a12e13e125217d91279fcecee98
commit e7924ad814ad4a12e13e125217d91279fcecee98 Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com> Date: Wed Feb 25 15:55:08 2015 +0900 e - menus - fix submenu popup direction when zones are not at 0 y --- src/bin/e_menu.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/bin/e_menu.c b/src/bin/e_menu.c index 5151214..2938b69 100644 --- a/src/bin/e_menu.c +++ b/src/bin/e_menu.c @@ -2122,19 +2122,19 @@ _e_menu_reposition(E_Menu *m) { #if 0 // we can't win - we just flip back and forth, so let it go off and use scrolling /* menu is larger than screen */ - if (parent_item_bottom > (m->zone->h / 2)) + if (parent_item_bottom > (m->zone->y + (m->zone->h / 2))) /* more is shown if menu goes up */ - m->cur.y = (parent_item_bottom - (m->container_h + 1)); + m->cur.y = (parent_item_bottom - (m->zone->h + 1)); else /* more is shown if menu goes down */ - m->cur.y = parent_item_bottom - m->container_y; + m->cur.y = parent_item_bottom - m->zone->y; #endif } else { /* menu is smaller than screen */ - if (((parent_item_bottom + m->cur.h) > m->zone->h) && - (parent_item_bottom > (m->zone->h / 2))) + if (((parent_item_bottom + m->cur.h) > (m->zone->y + m->zone->h)) && + (parent_item_bottom > (m->zone->y + (m->zone->h / 2)))) /* menu is partially out of screen and more is shown if menu goes up */ m->cur.y = parent_item_bottom - m->cur.h + m->parent_item->h; else --