summaryrefslogtreecommitdiffstats
path: root/scene/main/window.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scene/main/window.cpp')
-rw-r--r--scene/main/window.cpp5
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();