aboutsummaryrefslogtreecommitdiff
path: root/src/term.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/term.rs')
-rw-r--r--src/term.rs4
1 files changed, 2 insertions, 2 deletions
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<Cell>, 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);
}