From 688a3eaef71f7a03ac2aaef90770adb806e26b93 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 22 Jan 2022 16:17:01 +0530 Subject: [PATCH] Check if input context handles flagschanged event --- glfw/cocoa_window.m | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/glfw/cocoa_window.m b/glfw/cocoa_window.m index 4c83b65a2..8d2a5c2f3 100644 --- a/glfw/cocoa_window.m +++ b/glfw/cocoa_window.m @@ -1247,14 +1247,16 @@ is_ascii_control_char(char x) { if (process_text && inpctx) { // this will call insertText which will fill up _glfw.ns.text in_key_handler = 2; - [inpctx handleEvent:event]; + const bool handled = [inpctx handleEvent:event]; in_key_handler = 0; - if (marked_text_cleared_by_insert) { - debug_key("Clearing pre-edit text"); - CLEAR_PRE_EDIT_TEXT; + if (handled) { + if (marked_text_cleared_by_insert) { + debug_key("Clearing pre-edit text"); + CLEAR_PRE_EDIT_TEXT; + } + if (_glfw.ns.text[0]) glfw_keyevent.text = _glfw.ns.text; + else _glfw.ns.text[0] = old_first_char; } - if (_glfw.ns.text[0]) glfw_keyevent.text = _glfw.ns.text; - else _glfw.ns.text[0] = old_first_char; } glfw_keyevent.ime_state = GLFW_IME_NONE; debug_key("\n");