Skip to content

Commit 81d577d

Browse files
committed
Load only addons after first file scan/import
1 parent e78dc83 commit 81d577d

File tree

1 file changed

+37
-37
lines changed

1 file changed

+37
-37
lines changed

editor/editor_node.cpp

+37-37
Original file line numberDiff line numberDiff line change
@@ -704,24 +704,6 @@ void EditorNode::_notification(int p_what) {
704704
} break;
705705

706706
case NOTIFICATION_READY: {
707-
{
708-
started_timestamp = Time::get_singleton()->get_unix_time_from_system();
709-
_initializing_plugins = true;
710-
Vector<String> addons;
711-
if (ProjectSettings::get_singleton()->has_setting("editor_plugins/enabled")) {
712-
addons = GLOBAL_GET("editor_plugins/enabled");
713-
}
714-
715-
for (int i = 0; i < addons.size(); i++) {
716-
set_addon_plugin_enabled(addons[i], true);
717-
}
718-
_initializing_plugins = false;
719-
720-
if (!pending_addons.is_empty()) {
721-
EditorFileSystem::get_singleton()->connect("script_classes_updated", callable_mp(this, &EditorNode::_enable_pending_addons));
722-
}
723-
}
724-
725707
RenderingServer::get_singleton()->viewport_set_disable_2d(get_scene_root()->get_viewport_rid(), true);
726708
RenderingServer::get_singleton()->viewport_set_environment_mode(get_viewport()->get_viewport_rid(), RenderingServer::VIEWPORT_ENVIRONMENT_DISABLED);
727709

@@ -740,6 +722,8 @@ void EditorNode::_notification(int p_what) {
740722
CanvasItemEditor::ThemePreviewMode theme_preview_mode = (CanvasItemEditor::ThemePreviewMode)(int)EditorSettings::get_singleton()->get_project_metadata("2d_editor", "theme_preview", CanvasItemEditor::THEME_PREVIEW_PROJECT);
741723
update_preview_themes(theme_preview_mode);
742724

725+
started_timestamp = Time::get_singleton()->get_unix_time_from_system();
726+
743727
/* DO NOT LOAD SCENES HERE, WAIT FOR FILE SCANNING AND REIMPORT TO COMPLETE */
744728
} break;
745729

@@ -1073,35 +1057,51 @@ void EditorNode::_resources_reimported(const Vector<String> &p_resources) {
10731057
}
10741058

10751059
void EditorNode::_sources_changed(bool p_exist) {
1076-
if (waiting_for_first_scan) {
1077-
waiting_for_first_scan = false;
1060+
if (!waiting_for_first_scan) {
1061+
return;
1062+
}
10781063

1079-
OS::get_singleton()->benchmark_end_measure("Editor", "First Scan");
1064+
waiting_for_first_scan = false;
10801065

1081-
// Reload the global shader variables, but this time
1082-
// loading textures, as they are now properly imported.
1083-
RenderingServer::get_singleton()->global_shader_parameters_load_settings(true);
1066+
OS::get_singleton()->benchmark_end_measure("Editor", "First Scan");
10841067

1085-
_load_editor_layout();
1068+
// Reload the global shader variables, but this time
1069+
// loading textures, as they are now properly imported.
1070+
RenderingServer::get_singleton()->global_shader_parameters_load_settings(true);
10861071

1087-
if (!defer_load_scene.is_empty()) {
1088-
OS::get_singleton()->benchmark_begin_measure("Editor", "Load Scene");
1072+
_load_editor_layout();
10891073

1090-
load_scene(defer_load_scene);
1091-
defer_load_scene = "";
1074+
if (!defer_load_scene.is_empty()) {
1075+
OS::get_singleton()->benchmark_begin_measure("Editor", "Load Scene");
10921076

1093-
OS::get_singleton()->benchmark_end_measure("Editor", "Load Scene");
1094-
OS::get_singleton()->benchmark_dump();
1095-
}
1077+
load_scene(defer_load_scene);
1078+
defer_load_scene = "";
1079+
1080+
OS::get_singleton()->benchmark_end_measure("Editor", "Load Scene");
1081+
OS::get_singleton()->benchmark_dump();
1082+
}
1083+
1084+
if (SurfaceUpgradeTool::get_singleton()->is_show_requested()) {
1085+
SurfaceUpgradeTool::get_singleton()->show_popup();
1086+
}
10961087

1097-
if (SurfaceUpgradeTool::get_singleton()->is_show_requested()) {
1098-
SurfaceUpgradeTool::get_singleton()->show_popup();
1088+
// Start preview thread now that it's safe.
1089+
if (!singleton->cmdline_export_mode) {
1090+
EditorResourcePreview::get_singleton()->start();
1091+
}
1092+
1093+
// Load the addons.
1094+
{
1095+
_initializing_plugins = true;
1096+
Vector<String> addons;
1097+
if (ProjectSettings::get_singleton()->has_setting("editor_plugins/enabled")) {
1098+
addons = GLOBAL_GET("editor_plugins/enabled");
10991099
}
11001100

1101-
// Start preview thread now that it's safe.
1102-
if (!singleton->cmdline_export_mode) {
1103-
EditorResourcePreview::get_singleton()->start();
1101+
for (int i = 0; i < addons.size(); i++) {
1102+
set_addon_plugin_enabled(addons[i], true);
11041103
}
1104+
_initializing_plugins = false;
11051105
}
11061106
}
11071107

0 commit comments

Comments
 (0)