diff --git a/scene/gui/popup.cpp b/scene/gui/popup.cpp index a2e73e4164..adfbd7f112 100644 --- a/scene/gui/popup.cpp +++ b/scene/gui/popup.cpp @@ -167,7 +167,7 @@ Rect2i Popup::_popup_adjust_rect() const { Rect2i current(get_position(), get_size()); - if (DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_SELF_FITTING_WINDOWS)) { + if (!is_embedded() && DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_SELF_FITTING_WINDOWS)) { // We're fine as is, the Display Server will take care of that for us. return current; } diff --git a/scene/main/window.cpp b/scene/main/window.cpp index 0905bc8c42..696e09eb1f 100644 --- a/scene/main/window.cpp +++ b/scene/main/window.cpp @@ -1994,7 +1994,7 @@ void Window::popup(const Rect2i &p_screen_rect) { // Update window size to calculate the actual window size based on contents minimum size and minimum size. _update_window_size(); - bool should_fit = !DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_SELF_FITTING_WINDOWS); + bool should_fit = is_embedded() || !DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_SELF_FITTING_WINDOWS); if (p_screen_rect != Rect2i()) { set_position(p_screen_rect.position);