diff options
author | okan | 2012-10-23 15:50:15 +0000 |
---|---|---|
committer | okan | 2012-10-23 15:50:15 +0000 |
commit | fc956523c1ae1e53c438dcdfd56d7eb65af90f60 (patch) | |
tree | 75543dcfd3e163055cc9f2308babb34c9fe732e8 | |
parent | af4604f740e5a494de8226697fbe0e942a1fbe45 (diff) | |
download | cwm-fc956523c1ae1e53c438dcdfd56d7eb65af90f60.tar.gz |
treat menu width the same as the height is treated when deciding its
max size and location; partially from a diff from Alexander Polakov.
Diffstat (limited to '')
-rw-r--r-- | menu.c | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -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 <sys/param.h> @@ -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; |