|
@@ -893,7 +893,12 @@ void Window::_window_input(const Ref<InputEvent> &p_ev) {
|
|
|
}
|
|
|
|
|
|
if (exclusive_child != nullptr) {
|
|
|
- exclusive_child->grab_focus();
|
|
|
+ Window *focus_target = exclusive_child;
|
|
|
+ while (focus_target->exclusive_child != nullptr) {
|
|
|
+ focus_target->grab_focus();
|
|
|
+ focus_target = focus_target->exclusive_child;
|
|
|
+ }
|
|
|
+ focus_target->grab_focus();
|
|
|
|
|
|
if (!is_embedding_subwindows()) { //not embedding, no need for event
|
|
|
return;
|