aboutsummaryrefslogtreecommitdiff
path: root/alacritty/src/event.rs
diff options
context:
space:
mode:
Diffstat (limited to 'alacritty/src/event.rs')
-rw-r--r--alacritty/src/event.rs10
1 files changed, 5 insertions, 5 deletions
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<EventProxy, ActionContext<'_, Notifier, EventProxy>> {
},
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<EventProxy, ActionContext<'_, Notifier, EventProxy>> {
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);