diff options
Diffstat (limited to 'editor/editor_node.cpp')
-rw-r--r-- | editor/editor_node.cpp | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index ec7d97c3e0..718233e8c8 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -2610,8 +2610,8 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) { List<String> extensions; ResourceLoader::get_recognized_extensions_for_type("PackedScene", &extensions); file->clear_filters(); - for (int i = 0; i < extensions.size(); i++) { - file->add_filter("*." + extensions[i], extensions[i].to_upper()); + for (const String &extension : extensions) { + file->add_filter("*." + extension, extension.to_upper()); } Node *scene = editor_data.get_edited_scene_root(); @@ -2729,8 +2729,8 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) { Ref<PackedScene> sd = memnew(PackedScene); ResourceSaver::get_recognized_extensions(sd, &extensions); file->clear_filters(); - for (int i = 0; i < extensions.size(); i++) { - file->add_filter("*." + extensions[i], extensions[i].to_upper()); + for (const String &extension : extensions) { + file->add_filter("*." + extension, extension.to_upper()); } if (!scene->get_scene_file_path().is_empty()) { @@ -3061,14 +3061,14 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) { List<String> extensions; ResourceLoader::get_recognized_extensions_for_type("PackedScene", &extensions); file->clear_filters(); - for (int i = 0; i < extensions.size(); i++) { - file->add_filter("*." + extensions[i], extensions[i].to_upper()); + for (const String &extension : extensions) { + file->add_filter("*." + extension, extension.to_upper()); } Node *scene = editor_data.get_edited_scene_root(); if (scene) { file->set_current_path(scene->get_scene_file_path()); - }; + } file->set_title(TTR("Pick a Main Scene")); file->popup_file_dialog(); @@ -3493,6 +3493,10 @@ void EditorNode::remove_editor_plugin(EditorPlugin *p_editor, bool p_config_chan } } + if (singleton->editor_plugin_screen == p_editor) { + singleton->editor_plugin_screen = nullptr; + } + singleton->editor_table.erase(p_editor); } p_editor->make_visible(false); @@ -3519,6 +3523,7 @@ void EditorNode::add_extension_editor_plugin(const StringName &p_class_name) { EditorPlugin *plugin = Object::cast_to<EditorPlugin>(ClassDB::instantiate(p_class_name)); singleton->editor_data.add_extension_editor_plugin(p_class_name, plugin); add_editor_plugin(plugin); + plugin->enable_plugin(); } void EditorNode::remove_extension_editor_plugin(const StringName &p_class_name) { @@ -7262,7 +7267,9 @@ EditorNode::EditorNode() { add_editor_plugin(memnew(AudioBusesEditorPlugin(audio_bus_editor))); for (int i = 0; i < EditorPlugins::get_plugin_count(); i++) { - add_editor_plugin(EditorPlugins::create(i)); + EditorPlugin *plugin = EditorPlugins::create(i); + add_editor_plugin(plugin); + plugin->enable_plugin(); } for (const StringName &extension_class_name : GDExtensionEditorPlugins::get_extension_classes()) { |