diff --git a/src/bin/e_menu.c b/src/bin/e_menu.c index 043935c3a..01475b853 100644 --- a/src/bin/e_menu.c +++ b/src/bin/e_menu.c @@ -2015,19 +2015,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