diff --git a/CHANGELOG.md b/CHANGELOG.md index 83779473..51588864 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -65,6 +65,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Crash on exit when using NVIDIA binary drivers on Wayland - `window.startup_mode` applied to window again when creating new tab - Crash when leaving search after resize +- Cursor being hidden after reaching cursor blinking timeout ### Removed diff --git a/alacritty/src/event.rs b/alacritty/src/event.rs index d710c826..3dc1a262 100644 --- a/alacritty/src/event.rs +++ b/alacritty/src/event.rs @@ -1266,8 +1266,12 @@ impl input::Processor> { EventType::SearchNext => self.ctx.goto_match(None), EventType::Scroll(scroll) => self.ctx.scroll(scroll), EventType::BlinkCursor => { - self.ctx.display.cursor_hidden ^= true; - *self.ctx.dirty = true; + // Only change state when timeout isn't reached, since we could get + // BlinkCursor and BlinkCursorTimeout events at the same time. + if !*self.ctx.cursor_blink_timed_out { + self.ctx.display.cursor_hidden ^= true; + *self.ctx.dirty = true; + } }, EventType::BlinkCursorTimeout => { // Disable blinking after timeout reached.