diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index 66bd60cc67f..d892baef2e6 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -287,7 +287,11 @@ void Viewport::_sub_window_register(Window *p_window) { gui.sub_windows.push_back(sw); if (gui.subwindow_drag == SUB_WINDOW_DRAG_DISABLED) { - _sub_window_grab_focus(p_window); + if (p_window->get_flag(Window::FLAG_NO_FOCUS)) { + _sub_window_update_order(); + } else { + _sub_window_grab_focus(p_window); + } } else { int index = _sub_window_find(gui.currently_dragged_subwindow); sw = gui.sub_windows[index];