|
@@ -1633,7 +1633,10 @@ void Window::popup(const Rect2i &p_screen_rect) {
|
|
|
|
|
|
if (p_screen_rect != Rect2i()) {
|
|
if (p_screen_rect != Rect2i()) {
|
|
set_position(p_screen_rect.position);
|
|
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();
|
|
Rect2i adjust = _popup_adjust_rect();
|