diff options
Diffstat (limited to 'scene/main/window.cpp')
-rw-r--r-- | scene/main/window.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/scene/main/window.cpp b/scene/main/window.cpp index 3ec36f731c..c7cd52124a 100644 --- a/scene/main/window.cpp +++ b/scene/main/window.cpp @@ -1770,7 +1770,10 @@ void Window::popup(const Rect2i &p_screen_rect) { if (p_screen_rect != Rect2i()) { set_position(p_screen_rect.position); - set_size(p_screen_rect.size); + int screen_id = DisplayServer::get_singleton()->get_screen_from_rect(p_screen_rect); + Size2i screen_size = DisplayServer::get_singleton()->screen_get_usable_rect(screen_id).size; + Size2i new_size = p_screen_rect.size.min(screen_size); + set_size(new_size); } Rect2i adjust = _popup_adjust_rect(); |