diff options
author | 2020-06-04 21:41:31 +0000 | |
---|---|---|
committer | 2020-06-04 21:41:31 +0000 | |
commit | f256eafc10ddafaa572e52163573198871321d6c (patch) | |
tree | b3dd364e556050b407edb9333a6a92742991ddbe /usr.bin/tmux/grid.c | |
parent | Search marks outside the visible text are not useful, so there is no (diff) | |
download | wireguard-openbsd-f256eafc10ddafaa572e52163573198871321d6c.tar.xz wireguard-openbsd-f256eafc10ddafaa572e52163573198871321d6c.zip |
Reset wrapped flag when clearing or moving lines, GitHub issue 2215.
Diffstat (limited to 'usr.bin/tmux/grid.c')
-rw-r--r-- | usr.bin/tmux/grid.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/usr.bin/tmux/grid.c b/usr.bin/tmux/grid.c index c095463dc96..44d14af15bd 100644 --- a/usr.bin/tmux/grid.c +++ b/usr.bin/tmux/grid.c @@ -1,4 +1,4 @@ -/* $OpenBSD: grid.c,v 1.116 2020/06/02 20:51:46 nicm Exp $ */ +/* $OpenBSD: grid.c,v 1.117 2020/06/04 21:41:31 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott <nicholas.marriott@gmail.com> @@ -649,6 +649,8 @@ grid_clear_lines(struct grid *gd, u_int py, u_int ny, u_int bg) grid_free_line(gd, yy); grid_empty_line(gd, yy, bg); } + if (py != 0) + gd->linedata[py - 1].flags &= ~GRID_LINE_WRAPPED; } /* Move a group of lines. */ @@ -675,6 +677,8 @@ grid_move_lines(struct grid *gd, u_int dy, u_int py, u_int ny, u_int bg) continue; grid_free_line(gd, yy); } + if (dy != 0) + gd->linedata[dy - 1].flags &= ~GRID_LINE_WRAPPED; memmove(&gd->linedata[dy], &gd->linedata[py], ny * (sizeof *gd->linedata)); @@ -687,8 +691,11 @@ grid_move_lines(struct grid *gd, u_int dy, u_int py, u_int ny, u_int bg) if (yy < dy || yy >= dy + ny) grid_empty_line(gd, yy, bg); } + if (py != 0 && (py < dy || py >= dy + ny)) + gd->linedata[py - 1].flags &= ~GRID_LINE_WRAPPED; } + /* Move a group of cells. */ void grid_move_cells(struct grid *gd, u_int dx, u_int px, u_int py, u_int nx, |