From fc956523c1ae1e53c438dcdfd56d7eb65af90f60 Mon Sep 17 00:00:00 2001 From: okan Date: Tue, 23 Oct 2012 15:50:15 +0000 Subject: treat menu width the same as the height is treated when deciding its max size and location; partially from a diff from Alexander Polakov. --- menu.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'menu.c') diff --git a/menu.c b/menu.c index 219431a..fcc5e89 100644 --- a/menu.c +++ b/menu.c @@ -16,7 +16,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $OpenBSD: menu.c,v 1.37 2012/10/23 15:32:38 okan Exp $ + * $OpenBSD: menu.c,v 1.38 2012/10/23 15:50:15 okan Exp $ */ #include @@ -358,10 +358,12 @@ menu_draw(struct screen_ctx *sc, struct menu_ctx *mc, struct menu_q *menuq, xsave = mc->x; ysave = mc->y; - if (mc->x < xmin) - mc->x = xmin; - else if (mc->x + mc->width >= xmax) + if (mc->x + mc->width >= xmax) mc->x = xmax - mc->width; + if (mc->x < xmin) { + mc->x = xmin; + mc->width = xmax - xmin; + } if (mc->y + dy >= ymax) mc->y = ymax - dy; -- cgit v1.2.3-2-gb3c3