mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	Merge branch 'obsd-master'
This commit is contained in:
		@@ -567,9 +567,11 @@ screen_write_fast_copy(struct screen_write_ctx *ctx, struct screen *src,
 | 
			
		||||
    u_int px, u_int py, u_int nx, u_int ny)
 | 
			
		||||
{
 | 
			
		||||
	struct screen		*s = ctx->s;
 | 
			
		||||
	struct window_pane	*wp = ctx->wp;
 | 
			
		||||
	struct tty_ctx	 	 ttyctx;
 | 
			
		||||
	struct grid		*gd = src->grid;
 | 
			
		||||
	struct grid_cell	 gc;
 | 
			
		||||
	u_int		 	 xx, yy, cx, cy;
 | 
			
		||||
	u_int		 	 xx, yy, cx = s->cx, cy = s->cy;
 | 
			
		||||
 | 
			
		||||
	if (nx == 0 || ny == 0)
 | 
			
		||||
		return;
 | 
			
		||||
@@ -578,18 +580,28 @@ screen_write_fast_copy(struct screen_write_ctx *ctx, struct screen *src,
 | 
			
		||||
	for (yy = py; yy < py + ny; yy++) {
 | 
			
		||||
		if (yy >= gd->hsize + gd->sy)
 | 
			
		||||
			break;
 | 
			
		||||
		cx = s->cx;
 | 
			
		||||
		s->cx = cx;
 | 
			
		||||
		if (wp != NULL)
 | 
			
		||||
			screen_write_initctx(ctx, &ttyctx, 0);
 | 
			
		||||
		for (xx = px; xx < px + nx; xx++) {
 | 
			
		||||
			if (xx >= grid_get_line(gd, yy)->cellsize)
 | 
			
		||||
				break;
 | 
			
		||||
			grid_get_cell(gd, xx, yy, &gc);
 | 
			
		||||
			if (xx + gc.data.width > px + nx)
 | 
			
		||||
				break;
 | 
			
		||||
			grid_view_set_cell(ctx->s->grid, cx, cy, &gc);
 | 
			
		||||
			cx++;
 | 
			
		||||
			grid_view_set_cell(ctx->s->grid, s->cx, s->cy, &gc);
 | 
			
		||||
			if (wp != NULL) {
 | 
			
		||||
				ttyctx.cell = &gc;
 | 
			
		||||
				tty_write(tty_cmd_cell, &ttyctx);
 | 
			
		||||
				ttyctx.ocx++;
 | 
			
		||||
			}
 | 
			
		||||
			s->cx++;
 | 
			
		||||
		}
 | 
			
		||||
		cy++;
 | 
			
		||||
		s->cy++;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	s->cx = cx;
 | 
			
		||||
	s->cy = cy;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Select character set for drawing border lines. */
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user