From 103f671ada1abe21e1b0bb5ac71749e8ee0a9dc2 Mon Sep 17 00:00:00 2001 From: bruvzg <7645683+bruvzg@users.noreply.github.com> Date: Mon, 6 Feb 2023 09:18:16 +0200 Subject: [X11] Fix IME window focus events. --- platform/linuxbsd/x11/display_server_x11.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'platform/linuxbsd') 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) { -- cgit v1.2.3