Merge pull request #72497 from bruvzg/x11_ime_popup_focus

[X11] Fix IME subwindow in the popup not getting input focus.
This commit is contained in:
Rémi Verschelde 2023-02-01 11:00:55 +01:00
commit e044b56ccf
No known key found for this signature in database
GPG key ID: C3336907360768E1
2 changed files with 4 additions and 1 deletions

View file

@ -4897,7 +4897,7 @@ DisplayServerX11::WindowID DisplayServerX11::_create_window(WindowMode p_mode, V
// handling decorations and placement. // handling decorations and placement.
// On the other hand, focus changes need to be handled manually when this is set. // On the other hand, focus changes need to be handled manually when this is set.
// - save_under is a hint for the WM to keep the content of windows behind to avoid repaint. // - save_under is a hint for the WM to keep the content of windows behind to avoid repaint.
if (wd.is_popup || wd.no_focus) { if (wd.no_focus) {
windowAttributes.override_redirect = True; windowAttributes.override_redirect = True;
windowAttributes.save_under = True; windowAttributes.save_under = True;
valuemask |= CWOverrideRedirect | CWSaveUnder; valuemask |= CWOverrideRedirect | CWSaveUnder;

View file

@ -840,6 +840,9 @@ void PopupMenu::_notification(int p_what) {
float pm_delay = pm->get_submenu_popup_delay(); float pm_delay = pm->get_submenu_popup_delay();
set_submenu_popup_delay(pm_delay); set_submenu_popup_delay(pm_delay);
} }
if (!is_embedded()) {
set_flag(FLAG_NO_FOCUS, true);
}
} break; } break;
case NOTIFICATION_THEME_CHANGED: case NOTIFICATION_THEME_CHANGED: