From 7da9de34d81f6a03f1923ff95ce0f48678ce86fb Mon Sep 17 00:00:00 2001 From: Joe Wilm Date: Fri, 16 Sep 2016 17:12:53 -0700 Subject: Fix crash There might be a better way to track cursor state such that these checks aren't necessary. --- src/term.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/term.rs') diff --git a/src/term.rs b/src/term.rs index 45e3cf75..0cb54240 100644 --- a/src/term.rs +++ b/src/term.rs @@ -36,7 +36,7 @@ pub struct RenderGrid<'a> { impl<'a> RenderGrid<'a> { fn new<'b>(grid: &'b mut Grid, cursor: &'b Cursor, mode: TermMode) -> RenderGrid<'b> { - if mode.contains(mode::SHOW_CURSOR) { + if mode.contains(mode::SHOW_CURSOR) && grid.contains(cursor) { let cell = &mut grid[cursor]; mem::swap(&mut cell.fg, &mut cell.bg); } @@ -51,7 +51,7 @@ impl<'a> RenderGrid<'a> { impl<'a> Drop for RenderGrid<'a> { fn drop(&mut self) { - if self.mode.contains(mode::SHOW_CURSOR) { + if self.mode.contains(mode::SHOW_CURSOR) && self.inner.contains(self.cursor) { let cell = &mut self.inner[self.cursor]; mem::swap(&mut cell.fg, &mut cell.bg); } -- cgit