mirror of
https://github.com/tmux/tmux.git
synced 2024-11-06 02:48:49 +00:00
Merge branch 'obsd-master'
This commit is contained in:
commit
b749a39cdb
@ -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.
|
||||||
|
Loading…
Reference in New Issue
Block a user