diff options
author | Nicholas Marriott <nicm@openbsd.org> | 2012-03-14 23:29:07 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@openbsd.org> | 2012-03-14 23:29:07 +0000 |
commit | 71df37c247a3fcebfd24637410bd4ef41801147c (patch) | |
tree | deac9926e0bf94edac9e35a2f33a1ac6fd4f13c8 /screen-write.c | |
parent | 4e05a2c0ae0017f8b1b501eb9cec0ea8d4ec2ca4 (diff) | |
download | rtmux-71df37c247a3fcebfd24637410bd4ef41801147c.tar.gz rtmux-71df37c247a3fcebfd24637410bd4ef41801147c.tar.bz2 rtmux-71df37c247a3fcebfd24637410bd4ef41801147c.zip |
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.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/screen-write.c b/screen-write.c index d8659593..50abb174 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) |