diff options
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | alacritty/src/event.rs | 3 | ||||
-rw-r--r-- | alacritty_terminal/src/term/mod.rs | 1 |
3 files changed, 3 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 188276c6..0e79c274 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Fixed - Creating the IPC socket failing if WAYLAND_DISPLAY contains an absolute path +- Crash when resetting the terminal while in vi mode ## 0.10.1 diff --git a/alacritty/src/event.rs b/alacritty/src/event.rs index 1fd42fe6..6a14097a 100644 --- a/alacritty/src/event.rs +++ b/alacritty/src/event.rs @@ -853,10 +853,9 @@ impl<'a, N: Notify + 'a, T: EventListener> ActionContext<'a, N, T> { } // Reset display offset and cursor position. + self.terminal.vi_mode_cursor.point = self.search_state.origin; self.terminal.scroll_display(Scroll::Delta(self.search_state.display_offset_delta)); self.search_state.display_offset_delta = 0; - self.terminal.vi_mode_cursor.point = - self.search_state.origin.grid_clamp(self.terminal, Boundary::Grid); *self.dirty = true; } diff --git a/alacritty_terminal/src/term/mod.rs b/alacritty_terminal/src/term/mod.rs index 5ad1b4ad..96f0d1e7 100644 --- a/alacritty_terminal/src/term/mod.rs +++ b/alacritty_terminal/src/term/mod.rs @@ -1795,6 +1795,7 @@ impl<T: EventListener> Handler for Term<T> { self.title_stack = Vec::new(); self.title = None; self.selection = None; + self.vi_mode_cursor = Default::default(); // Preserve vi mode across resets. self.mode &= TermMode::VI; |