From fc2bcf9bc0e1d01d191bd663d5493cfabff54420 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Mon, 7 Dec 2020 18:57:16 +0100 Subject: [PATCH] search: reset IME state when entering/exiting search mode --- search.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/search.c b/search.c index 83f86390..a7b6f112 100644 --- a/search.c +++ b/search.c @@ -99,6 +99,12 @@ search_cancel_keep_selection(struct terminal *term) term->is_searching = false; term->render.search_glyph_offset = 0; + /* Reset IME state */ + if (term_ime_is_enabled(term)) { + term_ime_disable(term); + term_ime_enable(term); + } + term_xcursor_update(term); render_refresh(term); } @@ -111,6 +117,12 @@ search_begin(struct terminal *term) search_cancel_keep_selection(term); selection_cancel(term); + /* Reset IME state */ + if (term_ime_is_enabled(term)) { + term_ime_disable(term); + term_ime_enable(term); + } + /* On-demand instantiate wayland surface */ struct wl_window *win = term->window; struct wayland *wayl = term->wl;