diff options
author | Thomas Adam <thomas@xteddy.org> | 2017-11-15 20:01:22 +0000 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2017-11-15 20:01:22 +0000 |
commit | e755ca37b339ac2960f753eff4470c3b68f4b223 (patch) | |
tree | 69430c7e9a78ea8ea3cd608346b397b06e3ae7bc /screen-write.c | |
parent | 392da897ffbef11a4e75d27d9207ca249bcad56e (diff) | |
parent | 533a5719c5edf53f0d7021d4340af230cc43ac8a (diff) | |
download | rtmux-e755ca37b339ac2960f753eff4470c3b68f4b223.tar.gz rtmux-e755ca37b339ac2960f753eff4470c3b68f4b223.tar.bz2 rtmux-e755ca37b339ac2960f753eff4470c3b68f4b223.zip |
Merge branch 'obsd-master'
Diffstat (limited to 'screen-write.c')
-rw-r--r-- | screen-write.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/screen-write.c b/screen-write.c index 5ab472bd..1687e8c8 100644 --- a/screen-write.c +++ b/screen-write.c @@ -378,7 +378,8 @@ screen_write_copy(struct screen_write_ctx *ctx, struct screen *src, u_int px, gc.bg = mgc->bg; } } - screen_write_cell(ctx, &gc); + if (xx + gc.data.width <= px + nx) + screen_write_cell(ctx, &gc); } cy++; screen_write_cursormove(ctx, cx, cy); @@ -410,6 +411,8 @@ screen_write_fast_copy(struct screen_write_ctx *ctx, struct screen *src, if (xx >= gd->linedata[yy].cellsize) break; grid_get_cell(gd, xx, yy, &gc); + if (xx + gc.data.width > px + nx) + break; if (!grid_cells_equal(&gc, &grid_default_cell)) grid_view_set_cell(ctx->s->grid, cx, cy, &gc); cx++; |