From 5bbba6973fd0217c55ebe27fadf844b2889586dd Mon Sep 17 00:00:00 2001 From: Kirill Chibisov Date: Thu, 15 Sep 2022 23:51:06 +0300 Subject: Bump winit to 0.27.3 Fixes #6324. Fixes #6313. --- alacritty/src/display/mod.rs | 2 +- alacritty/src/event.rs | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'alacritty/src') diff --git a/alacritty/src/display/mod.rs b/alacritty/src/display/mod.rs index aba674fb..bcc7358d 100644 --- a/alacritty/src/display/mod.rs +++ b/alacritty/src/display/mod.rs @@ -419,7 +419,7 @@ impl Ime { } } -#[derive(Debug, Default)] +#[derive(Debug, Default, PartialEq, Eq)] pub struct Preedit { /// The preedit text. text: String, diff --git a/alacritty/src/event.rs b/alacritty/src/event.rs index bd4b60b2..853e3f5e 100644 --- a/alacritty/src/event.rs +++ b/alacritty/src/event.rs @@ -1236,8 +1236,6 @@ impl input::Processor> { }, WindowEvent::Ime(ime) => match ime { Ime::Commit(text) => { - // Clear preedit. - self.ctx.display.ime.set_preedit(None); *self.ctx.dirty = true; for ch in text.chars() { @@ -1253,9 +1251,11 @@ impl input::Processor> { Some(Preedit::new(text, cursor_offset.map(|offset| offset.0))) }; - self.ctx.display.ime.set_preedit(preedit); - self.ctx.update_cursor_blinking(); - *self.ctx.dirty = true; + if self.ctx.display.ime.preedit() != preedit.as_ref() { + self.ctx.display.ime.set_preedit(preedit); + self.ctx.update_cursor_blinking(); + *self.ctx.dirty = true; + } }, Ime::Enabled => { self.ctx.display.ime.set_enabled(true); -- cgit