aboutsummaryrefslogtreecommitdiff
path: root/screen-write.c
diff options
context:
space:
mode:
authorTiago Cunha <tcunha@gmx.com>2012-03-18 01:40:26 +0000
committerTiago Cunha <tcunha@gmx.com>2012-03-18 01:40:26 +0000
commitc7f078dcbc96cc0d2cbaea84d7ee3c8a268d8fdf (patch)
treecd8f3ce696bbfc0c75f6dbbfce6258ddec3c033a /screen-write.c
parent3893cc17a4797ce06346244ea57ec16793259ea9 (diff)
downloadrtmux-c7f078dcbc96cc0d2cbaea84d7ee3c8a268d8fdf.tar.gz
rtmux-c7f078dcbc96cc0d2cbaea84d7ee3c8a268d8fdf.tar.bz2
rtmux-c7f078dcbc96cc0d2cbaea84d7ee3c8a268d8fdf.zip
Sync OpenBSD patchset 1050:
Store context off before moving the cursor when wrapping, to fix long standing bug drawing over the status line.
Diffstat (limited to 'screen-write.c')
-rw-r--r--screen-write.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/screen-write.c b/screen-write.c
index 4b3954d3..8b28ccbb 100644
--- a/screen-write.c
+++ b/screen-write.c
@@ -1071,9 +1071,6 @@ screen_write_cell(struct screen_write_ctx *ctx,
return;
}
- /* Initialise the redraw context, saving the last cell. */
- screen_write_initctx(ctx, &ttyctx, 1);
-
/* If in insert mode, make space for the cells. */
if (s->mode & MODE_INSERT && s->cx <= screen_size_x(s) - width) {
xx = screen_size_x(s) - s->cx - width;
@@ -1087,6 +1084,9 @@ screen_write_cell(struct screen_write_ctx *ctx,
s->cx = 0; /* carriage return */
}
+ /* Initialise the redraw context, saving the last cell. */
+ screen_write_initctx(ctx, &ttyctx, 1);
+
/* Sanity checks. */
if (((s->mode & MODE_WRAP) && s->cx > screen_size_x(s) - width)
|| s->cy > screen_size_y(s) - 1)