Browse Source

Merge pull request #79617 from sepTN/add-screensize-check-popup

Add size check to prevent popup bigger than the screen itself
Rémi Verschelde 1 year ago
parent
commit
dfcecb77bd
1 changed files with 4 additions and 1 deletions
  1. 4 1
      scene/main/window.cpp

+ 4 - 1
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();