From 04d067d78b0074ff0000b4ce2d8741881b1ace25 Mon Sep 17 00:00:00 2001 From: Sungyoon Cho Date: Sat, 6 Apr 2024 23:54:02 +0900 Subject: IME: fix race condition on closing window (#5455) --- src/managers/input/InputMethodRelay.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/managers/input/InputMethodRelay.cpp') diff --git a/src/managers/input/InputMethodRelay.cpp b/src/managers/input/InputMethodRelay.cpp index e348dcaf..8c21247a 100644 --- a/src/managers/input/InputMethodRelay.cpp +++ b/src/managers/input/InputMethodRelay.cpp @@ -160,6 +160,25 @@ void CInputMethodRelay::updateAllPopups() { } } +void CInputMethodRelay::activateIME(CTextInput* pInput) { + if (!m_pWLRIME) + return; + + wlr_input_method_v2_send_activate(g_pInputManager->m_sIMERelay.m_pWLRIME); + commitIMEState(pInput); +} + +void CInputMethodRelay::deactivateIME(CTextInput* pInput) { + if (!m_pWLRIME) + return; + + if (!m_pWLRIME->active) + return; + + wlr_input_method_v2_send_deactivate(g_pInputManager->m_sIMERelay.m_pWLRIME); + commitIMEState(pInput); +} + void CInputMethodRelay::commitIMEState(CTextInput* pInput) { if (!m_pWLRIME) return; -- cgit v1.2.3