aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2009-07-17 18:35:11 +0000
committerNicholas Marriott <nicm@openbsd.org>2009-07-17 18:35:11 +0000
commitad006bc6b66f335e87c0876d1b77af3541a4b517 (patch)
treec3bfdd94cecb24366715744d62e99c0ef79b62bd
parentce53936a2b56521903d69bac565391e37ad7e115 (diff)
downloadrtmux-ad006bc6b66f335e87c0876d1b77af3541a4b517.tar.gz
rtmux-ad006bc6b66f335e87c0876d1b77af3541a4b517.tar.bz2
rtmux-ad006bc6b66f335e87c0876d1b77af3541a4b517.zip
When resizing a screen smaller in alternate screen mode, all the lines needed
could be consumed by deleting from the bottom, leaving none to be removed from the top. In this case, don't call grid_view_delete_lines with ny of 0 as this is incorrect and causes a bounds check to fatal error if built with -DDEBUG.
-rw-r--r--screen.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/screen.c b/screen.c
index f1a723a3..650278b2 100644
--- a/screen.c
+++ b/screen.c
@@ -183,7 +183,7 @@ screen_resize_y(struct screen *s, u_int sy)
available = s->cy;
if (gd->flags & GRID_HISTORY)
gd->hsize += needed;
- else if (available > 0) {
+ else if (needed > 0 && available > 0) {
if (available > needed)
available = needed;
grid_view_delete_lines(gd, 0, available);