summaryrefslogtreecommitdiffstats
path: root/screen-write.c
diff options
context:
space:
mode:
authornicm <nicm>2019-03-12 13:14:14 +0000
committernicm <nicm>2019-03-12 13:14:14 +0000
commit303d20a758a2779f76854b6df10f8764e44fc407 (patch)
treebfaeccef3d8555fb3326456a016f67aed02c36f1 /screen-write.c
parent3f0efc050aabcc68115f37764d49c1c73d98437f (diff)
Fix wrapping after origin mode change.
Diffstat (limited to 'screen-write.c')
-rw-r--r--screen-write.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/screen-write.c b/screen-write.c
index e8aa0973..a6e78f42 100644
--- a/screen-write.c
+++ b/screen-write.c
@@ -75,7 +75,7 @@ screen_write_set_cursor(struct screen_write_ctx *ctx, int cx, int cy)
return;
if (cx != -1) {
- if ((u_int)cx > screen_size_x(s) - 1)
+ if ((u_int)cx > screen_size_x(s)) /* allow last column */
cx = screen_size_x(s) - 1;
s->cx = cx;
}
@@ -1045,6 +1045,11 @@ screen_write_cursormove(struct screen_write_ctx *ctx, u_int px, u_int py)
py += s->rupper;
}
+ if (px > screen_size_x(s) - 1)
+ px = screen_size_x(s) - 1;
+ if (py > screen_size_y(s) - 1)
+ py = screen_size_y(s) - 1;
+
screen_write_set_cursor(ctx, px, py);
}