diff options
Diffstat (limited to 'app-misc/tmux/files/tmux-2.3-screen_write_copy-fix.patch')
-rw-r--r-- | app-misc/tmux/files/tmux-2.3-screen_write_copy-fix.patch | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/app-misc/tmux/files/tmux-2.3-screen_write_copy-fix.patch b/app-misc/tmux/files/tmux-2.3-screen_write_copy-fix.patch deleted file mode 100644 index b8383274da2a..000000000000 --- a/app-misc/tmux/files/tmux-2.3-screen_write_copy-fix.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 30086e504c8a5389b96b72b81ac8dbefe19e0cf1 Mon Sep 17 00:00:00 2001 -From: nicm <nicm> -Date: Wed, 5 Oct 2016 22:00:29 +0000 -Subject: [PATCH] screen_write_copy tried to be clever and clear the line if it - reached the end of the source, but it was wrong and causes problems that are - only showing up now we are more aggressive about skipping redundant screen - updates. Remove the optimization entirely as more trouble than it is worth to - fix (and it'll have to go when BCE is done anyway). - ---- - screen-write.c | 34 +++++++--------------------------- - 1 file changed, 7 insertions(+), 27 deletions(-) - -diff --git a/screen-write.c b/screen-write.c -index 3977517..3a1fc8c 100644 ---- a/screen-write.c -+++ b/screen-write.c -@@ -394,38 +394,18 @@ screen_write_copy(struct screen_write_ctx *ctx, struct screen *src, u_int px, - { - struct screen *s = ctx->s; - struct grid *gd = src->grid; -- struct grid_line *gl; - struct grid_cell gc; -- u_int xx, yy, cx, cy, ax, bx; -+ u_int xx, yy, cx, cy; - - cx = s->cx; - cy = s->cy; -+ - for (yy = py; yy < py + ny; yy++) { -- gl = &gd->linedata[yy]; -- if (yy < gd->hsize + gd->sy) { -- /* -- * Find start and end position and copy between -- * them. Limit to the real end of the line then use a -- * clear EOL only if copying to the end, otherwise -- * could overwrite whatever is there already. -- */ -- if (px > gl->cellsize) -- ax = gl->cellsize; -- else -- ax = px; -- if (px + nx == gd->sx && px + nx > gl->cellsize) -- bx = gl->cellsize; -- else -- bx = px + nx; -- -- for (xx = ax; xx < bx; xx++) { -- grid_get_cell(gd, xx, yy, &gc); -- screen_write_cell(ctx, &gc); -- } -- if (px + nx == gd->sx && px + nx > gl->cellsize) -- screen_write_clearendofline(ctx); -- } else -- screen_write_clearline(ctx); -+ for (xx = px; xx < px + nx; xx++) { -+ grid_get_cell(gd, xx, yy, &gc); -+ screen_write_cell(ctx, &gc); -+ } -+ - cy++; - screen_write_cursormove(ctx, cx, cy); - } |