diff options
author | Christian Duerr <chrisduerr@users.noreply.github.com> | 2019-08-04 19:40:57 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-04 19:40:57 +0000 |
commit | ddee14a6ef6e4c0621a2683b34aa25b3971155ef (patch) | |
tree | a1cba57f3fbb088457473577a23699e7cf89e5b8 /alacritty_terminal/src/display.rs | |
parent | e1892ee92ab6c826787e19c7d55de3f4b40e16a8 (diff) | |
download | alacritty-ddee14a6ef6e4c0621a2683b34aa25b3971155ef.tar.gz alacritty-ddee14a6ef6e4c0621a2683b34aa25b3971155ef.zip |
Fix lines in last line not rendered when scrolled up
Instead of creating the rectangles for lines after the line is
completed, the rectangle is now initialized as soon as it is started.
Then when following cells also contain the same line type, the rectangle
is updated.
This resolves the problem of having to finish the last line when it ends
in the last non-empty column in the last line, since the render iterator
only returns non-empty cells and we never get the information that the
underline has ended.
Fixes #2680.
Diffstat (limited to 'alacritty_terminal/src/display.rs')
-rw-r--r-- | alacritty_terminal/src/display.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/alacritty_terminal/src/display.rs b/alacritty_terminal/src/display.rs index 4a2e57c4..8e094129 100644 --- a/alacritty_terminal/src/display.rs +++ b/alacritty_terminal/src/display.rs @@ -511,7 +511,7 @@ impl Display { { let glyph_cache = &mut self.glyph_cache; - let mut rects = Rects::new(&metrics, &size_info); + let mut rects = Rects::new(); // Draw grid { @@ -521,7 +521,7 @@ impl Display { // Iterate over all non-empty cells in the grid for cell in grid_cells { // Update underline/strikeout - rects.update_lines(&size_info, &cell); + rects.update_lines(&cell, &size_info, &metrics); // Draw the cell api.render_cell(cell, glyph_cache); |