mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:26:05 +00:00 
			
		
		
		
	Merge branch 'obsd-master'
This commit is contained in:
		@@ -214,7 +214,6 @@ grid_view_delete_cells(struct grid *gd, u_int px, u_int py, u_int nx, u_int bg)
 | 
				
			|||||||
	sx = grid_view_x(gd, gd->sx);
 | 
						sx = grid_view_x(gd, gd->sx);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	grid_move_cells(gd, px, px + nx, py, sx - px - nx, bg);
 | 
						grid_move_cells(gd, px, px + nx, py, sx - px - nx, bg);
 | 
				
			||||||
	grid_clear(gd, sx - nx, py, px + nx - (sx - nx), 1, bg);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Convert cells into a string. */
 | 
					/* Convert cells into a string. */
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										28
									
								
								grid.c
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								grid.c
									
									
									
									
									
								
							@@ -547,7 +547,7 @@ void
 | 
				
			|||||||
grid_clear(struct grid *gd, u_int px, u_int py, u_int nx, u_int ny, u_int bg)
 | 
					grid_clear(struct grid *gd, u_int px, u_int py, u_int nx, u_int ny, u_int bg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct grid_line	*gl;
 | 
						struct grid_line	*gl;
 | 
				
			||||||
	u_int			 xx, yy;
 | 
						u_int			 xx, yy, ox, sx;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (nx == 0 || ny == 0)
 | 
						if (nx == 0 || ny == 0)
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
@@ -564,16 +564,20 @@ grid_clear(struct grid *gd, u_int px, u_int py, u_int nx, u_int ny, u_int bg)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	for (yy = py; yy < py + ny; yy++) {
 | 
						for (yy = py; yy < py + ny; yy++) {
 | 
				
			||||||
		gl = &gd->linedata[yy];
 | 
							gl = &gd->linedata[yy];
 | 
				
			||||||
		if (px + nx >= gd->sx && px < gl->cellused)
 | 
					
 | 
				
			||||||
			gl->cellused = px;
 | 
							sx = gd->sx;
 | 
				
			||||||
		if (px > gl->cellsize && COLOUR_DEFAULT(bg))
 | 
							if (sx > gl->cellsize)
 | 
				
			||||||
			continue;
 | 
								sx = gl->cellsize;
 | 
				
			||||||
		if (px + nx >= gl->cellsize && COLOUR_DEFAULT(bg)) {
 | 
							ox = nx;
 | 
				
			||||||
			gl->cellsize = px;
 | 
							if (COLOUR_DEFAULT(bg)) {
 | 
				
			||||||
			continue;
 | 
								if (px > sx)
 | 
				
			||||||
 | 
									continue;
 | 
				
			||||||
 | 
								if (px + nx > sx)
 | 
				
			||||||
 | 
									ox = sx - px;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		grid_expand_line(gd, yy, px + nx, 8); /* default bg first */
 | 
					
 | 
				
			||||||
		for (xx = px; xx < px + nx; xx++)
 | 
							grid_expand_line(gd, yy, px + ox, 8); /* default bg first */
 | 
				
			||||||
 | 
							for (xx = px; xx < px + ox; xx++)
 | 
				
			||||||
			grid_clear_cell(gd, xx, yy, bg);
 | 
								grid_clear_cell(gd, xx, yy, bg);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -1216,6 +1220,10 @@ grid_reflow(struct grid *gd, u_int sx)
 | 
				
			|||||||
	struct grid_cell	 gc;
 | 
						struct grid_cell	 gc;
 | 
				
			||||||
	u_int			 yy, width, i, at, first;
 | 
						u_int			 yy, width, i, at, first;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/* Do not reflow to the same size. */
 | 
				
			||||||
 | 
						if (sx == gd->sx)
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/*
 | 
						/*
 | 
				
			||||||
	 * Create a destination grid. This is just used as a container for the
 | 
						 * Create a destination grid. This is just used as a container for the
 | 
				
			||||||
	 * line data and may not be fully valid.
 | 
						 * line data and may not be fully valid.
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user