diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2019-01-09 12:13:54 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-09 12:13:54 +0100 |
commit | bdfbe58ea655e3a4165bc4c0aba9bbe97aa4f6a3 (patch) | |
tree | 26f33e8dd3becd7ca5983c7523110ce79e7a90d6 | |
parent | e8f73d8c4c8482e01ece3d38571d53bb6f351406 (diff) | |
parent | 55bc004a73598b5d483ac0e4d3a70358cddd1bd1 (diff) |
Merge pull request #24851 from bruvzg/ime_focus_fix
Update IME text only for focused input controls.
-rw-r--r-- | scene/gui/line_edit.cpp | 12 | ||||
-rw-r--r-- | scene/gui/text_edit.cpp | 8 |
2 files changed, 13 insertions, 7 deletions
diff --git a/scene/gui/line_edit.cpp b/scene/gui/line_edit.cpp index c48a4e9114..4d638b50c6 100644 --- a/scene/gui/line_edit.cpp +++ b/scene/gui/line_edit.cpp @@ -248,7 +248,9 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) { set_cursor_position(text.length()); } break; #endif - default: { handled = false; } + default: { + handled = false; + } } if (handled) { @@ -860,9 +862,11 @@ void LineEdit::_notification(int p_what) { } break; case MainLoop::NOTIFICATION_OS_IME_UPDATE: { - ime_text = OS::get_singleton()->get_ime_text(); - ime_selection = OS::get_singleton()->get_ime_selection(); - update(); + if (has_focus()) { + ime_text = OS::get_singleton()->get_ime_text(); + ime_selection = OS::get_singleton()->get_ime_selection(); + update(); + } } break; } } diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index 6b75ca32b9..19c054fa43 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -1449,9 +1449,11 @@ void TextEdit::_notification(int p_what) { } break; case MainLoop::NOTIFICATION_OS_IME_UPDATE: { - ime_text = OS::get_singleton()->get_ime_text(); - ime_selection = OS::get_singleton()->get_ime_selection(); - update(); + if (has_focus()) { + ime_text = OS::get_singleton()->get_ime_text(); + ime_selection = OS::get_singleton()->get_ime_selection(); + update(); + } } break; } } |