diff --git a/CHANGELOG.md b/CHANGELOG.md index b45aa01f..a249ef2d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -77,6 +77,10 @@ * `foot` and `footclient` hanging, or terminating with `SIGABRT`, when starting inside a directory whose total length is more than 1024 characters. +* Regression: reflowing (resizing the window) a line that ends with a + double-width glyph that was pushed to the next line due to there + being only one cell left on current line, did not remove the virtual + space inserted at the end of the current line. [1918]: https://codeberg.org/dnkl/foot/issues/1918 diff --git a/grid.c b/grid.c index 2f65a1dd..3f5c617d 100644 --- a/grid.c +++ b/grid.c @@ -930,7 +930,8 @@ grid_resize_and_reflow( if (!old_row->linebreak && col_count > 0) { /* Don't truncate logical lines */ - col_count = old_cols; + while (col_count < old_cols && old_row->cells[col_count].wc == 0) + col_count++; } xassert(col_count >= 0 && col_count <= old_cols);