mirror of
https://github.com/alacritty/alacritty.git
synced 2024-11-25 14:05:41 -05:00
Fix issue with endless allocation loop
Shrinking columns wasn't updating hidden rows in the storage buffer on resizing. When growing the columns again, this resulted in an endless allocation loop. Only one real change was made here, and that was `raw.iter_mut()` to `raw.iter_mut_raw()`. The method `shrink_cols` was relocated to be adjacent to `grow_cols` in the code.
This commit is contained in:
parent
63de0559dd
commit
0bd08a80ff
1 changed files with 8 additions and 8 deletions
|
@ -252,6 +252,14 @@ impl<T: Copy + Clone> Grid<T> {
|
||||||
self.cols = cols;
|
self.cols = cols;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn shrink_cols(&mut self, cols: index::Column) {
|
||||||
|
for row in self.raw.iter_mut_raw() {
|
||||||
|
row.shrink(cols);
|
||||||
|
}
|
||||||
|
|
||||||
|
self.cols = cols;
|
||||||
|
}
|
||||||
|
|
||||||
/// Remove lines from the visible area
|
/// Remove lines from the visible area
|
||||||
///
|
///
|
||||||
/// The behavior in Terminal.app and iTerm.app is to keep the cursor at the
|
/// The behavior in Terminal.app and iTerm.app is to keep the cursor at the
|
||||||
|
@ -437,14 +445,6 @@ impl<T> Grid<T> {
|
||||||
// pub fn swap_lines(&mut self, src: index::Line, dst: index::Line) {
|
// pub fn swap_lines(&mut self, src: index::Line, dst: index::Line) {
|
||||||
// self.raw.swap(*src, *dst);
|
// self.raw.swap(*src, *dst);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
fn shrink_cols(&mut self, cols: index::Column) {
|
|
||||||
for row in self.raw.iter_mut() {
|
|
||||||
row.shrink(cols);
|
|
||||||
}
|
|
||||||
|
|
||||||
self.cols = cols;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a, T> Iterator for GridIterator<'a, T> {
|
impl<'a, T> Iterator for GridIterator<'a, T> {
|
||||||
|
|
Loading…
Reference in a new issue