|
@@ -223,7 +223,7 @@ void GameView::_instance_starting(int p_idx, List<String> &r_arguments) {
|
|
|
if (!is_feature_enabled) {
|
|
|
return;
|
|
|
}
|
|
|
- if (p_idx == 0 && embed_on_play && make_floating_on_play && !window_wrapper->get_window_enabled() && _get_embed_available() == EMBED_AVAILABLE) {
|
|
|
+ if (p_idx == 0 && embed_on_play && make_floating_on_play && window_wrapper->is_window_available() && !window_wrapper->get_window_enabled() && _get_embed_available() == EMBED_AVAILABLE) {
|
|
|
// Set the Floating Window default title. Always considered in DEBUG mode, same as in Window::set_title.
|
|
|
String appname = GLOBAL_GET("application/config/name");
|
|
|
appname = vformat("%s (DEBUG)", TranslationServer::get_singleton()->translate(appname));
|
|
@@ -431,7 +431,7 @@ GameView::EmbedAvailability GameView::_get_embed_available() {
|
|
|
if (!DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_WINDOW_EMBEDDING)) {
|
|
|
return EMBED_NOT_AVAILABLE_FEATURE_NOT_SUPPORTED;
|
|
|
}
|
|
|
- if (!EditorNode::get_singleton()->is_multi_window_enabled()) {
|
|
|
+ if (get_tree()->get_root()->is_embedding_subwindows()) {
|
|
|
return EMBED_NOT_AVAILABLE_SINGLE_WINDOW_MODE;
|
|
|
}
|
|
|
|
|
@@ -505,11 +505,12 @@ void GameView::_update_ui() {
|
|
|
}
|
|
|
|
|
|
void GameView::_update_embed_menu_options() {
|
|
|
+ bool is_multi_window = window_wrapper->is_window_available();
|
|
|
PopupMenu *menu = embed_options_menu->get_popup();
|
|
|
menu->set_item_checked(menu->get_item_index(EMBED_RUN_GAME_EMBEDDED), embed_on_play);
|
|
|
- menu->set_item_checked(menu->get_item_index(EMBED_MAKE_FLOATING_ON_PLAY), make_floating_on_play);
|
|
|
+ menu->set_item_checked(menu->get_item_index(EMBED_MAKE_FLOATING_ON_PLAY), make_floating_on_play && is_multi_window);
|
|
|
|
|
|
- menu->set_item_disabled(menu->get_item_index(EMBED_MAKE_FLOATING_ON_PLAY), !embed_on_play);
|
|
|
+ menu->set_item_disabled(menu->get_item_index(EMBED_MAKE_FLOATING_ON_PLAY), !embed_on_play || !is_multi_window);
|
|
|
|
|
|
fixed_size_button->set_pressed(embed_size_mode == SIZE_MODE_FIXED);
|
|
|
keep_aspect_button->set_pressed(embed_size_mode == SIZE_MODE_KEEP_ASPECT);
|