summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorYuri Sizov <11782833+YuriSizov@users.noreply.github.com>2023-02-06 14:11:34 +0300
committerGitHub <noreply@github.com>2023-02-06 14:11:34 +0300
commite08aa365160ee68a78b75660c28dfcd41608d981 (patch)
tree8209afb3accfc8d92c15ade2a1073eec619017f0 /platform
parentd5990fa24c5bb6dddfc41188819c24370a5e8737 (diff)
parent103f671ada1abe21e1b0bb5ac71749e8ee0a9dc2 (diff)
Merge pull request #72785 from bruvzg/x11_ime_sw_focus
[X11] Fix IME window focus events.
Diffstat (limited to 'platform')
-rw-r--r--platform/linuxbsd/x11/display_server_x11.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/platform/linuxbsd/x11/display_server_x11.cpp b/platform/linuxbsd/x11/display_server_x11.cpp
index 8377e81a53..493e4ad20f 100644
--- a/platform/linuxbsd/x11/display_server_x11.cpp
+++ b/platform/linuxbsd/x11/display_server_x11.cpp
@@ -4109,7 +4109,7 @@ void DisplayServerX11::process_events() {
case FocusIn: {
DEBUG_LOG_X11("[%u] FocusIn window=%lu (%u), mode='%u' \n", frame, event.xfocus.window, window_id, event.xfocus.mode);
- if (ime_window_event) {
+ if (ime_window_event || (event.xfocus.detail == NotifyInferior)) {
break;
}
@@ -4157,7 +4157,7 @@ void DisplayServerX11::process_events() {
case FocusOut: {
DEBUG_LOG_X11("[%u] FocusOut window=%lu (%u), mode='%u' \n", frame, event.xfocus.window, window_id, event.xfocus.mode);
WindowData &wd = windows[window_id];
- if (wd.ime_active && event.xfocus.detail == NotifyInferior) {
+ if (ime_window_event || (event.xfocus.detail == NotifyInferior)) {
break;
}
if (wd.ime_active) {