aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorokan2012-10-23 15:50:15 +0000
committerokan2012-10-23 15:50:15 +0000
commitfc956523c1ae1e53c438dcdfd56d7eb65af90f60 (patch)
tree75543dcfd3e163055cc9f2308babb34c9fe732e8
parentaf4604f740e5a494de8226697fbe0e942a1fbe45 (diff)
downloadcwm-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.
-rw-r--r--menu.c10
1 files changed, 6 insertions, 4 deletions
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 <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;