### Godot version

4.2 eb4301b

### System information

Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1060 (NVIDIA; 30.0.15.1403) - Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (8 Threads)

### Issue description

Sometimes when trying to open a scene from filesystem dock, the editor will crash. It happened 3 times to me already, but I don't know what exactly causes it.
```
[0] FileSystemDock::_select_file (C:\godot_source\editor\filesystem_dock.cpp:1115)
[1] FileSystemDock::_select_file (C:\godot_source\editor\filesystem_dock.cpp:1115)
[2] FileSystemDock::_tree_activate_file (C:\godot_source\editor\filesystem_dock.cpp:1187)
[3] call_with_variant_args_helper<FileSystemDock> (C:\godot_source\core\variant\binder_common.h:308)
[4] call_with_variant_args<FileSystemDock> (C:\godot_source\core\variant\binder_common.h:418)
[5] CallableCustomMethodPointer<FileSystemDock>::call (C:\godot_source\core\object\callable_method_pointer.h:105)
[6] Callable::callp (C:\godot_source\core\variant\callable.cpp:51)
[7] Object::emit_signalp (C:\godot_source\core\object\object.cpp:1073)
[8] Node::emit_signalp (C:\godot_source\scene\main\node.cpp:3577)
[9] Object::emit_signal<> (C:\godot_source\core\object\object.h:891)
[10] Tree::gui_input (C:\godot_source\scene\gui\tree.cpp:3867)
[11] Control::_call_gui_input (C:\godot_source\scene\gui\control.cpp:1806)
[12] Viewport::_gui_call_input (C:\godot_source\scene\main\viewport.cpp:1565)
[13] Viewport::_gui_input_event (C:\godot_source\scene\main\viewport.cpp:1794)
[14] Viewport::push_input (C:\godot_source\scene\main\viewport.cpp:3129)
[15] Window::_window_input (C:\godot_source\scene\main\window.cpp:1482)
[16] call_with_variant_args_helper<Window,Ref<InputEvent> const &,0> (C:\godot_source\core\variant\binder_common.h:303)
[17] call_with_variant_args<Window,Ref<InputEvent> const &> (C:\godot_source\core\variant\binder_common.h:418)
[18] CallableCustomMethodPointer<Window,Ref<InputEvent> const &>::call (C:\godot_source\core\object\callable_method_pointer.h:105)
[19] Callable::callp (C:\godot_source\core\variant\callable.cpp:51)
[20] DisplayServerWindows::_dispatch_input_event (C:\godot_source\platform\windows\display_server_windows.cpp:2612)
[21] DisplayServerWindows::_dispatch_input_events (C:\godot_source\platform\windows\display_server_windows.cpp:2577)
[22] Input::_parse_input_event_impl (C:\godot_source\core\input\input.cpp:722)
[23] Input::flush_buffered_events (C:\godot_source\core\input\input.cpp:979)
[24] DisplayServerWindows::process_events (C:\godot_source\platform\windows\display_server_windows.cpp:2296)
[25] OS_Windows::run (C:\godot_source\platform\windows\os_windows.cpp:1479)
[26] widechar_main (C:\godot_source\platform\windows\godot_windows.cpp:182)
[27] _main (C:\godot_source\platform\windows\godot_windows.cpp:204)
[28] main (C:\godot_source\platform\windows\godot_windows.cpp:218)
[29] WinMain (C:\godot_source\platform\windows\godot_windows.cpp:232)
[30] __scrt_common_main_seh (D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288)
[31] <couldn't map PC to fn name>
```

### Steps to reproduce

1. Open a project
2. Open a scene

I think the scene needs to be opened early enough.

### Minimal reproduction project

N/A
}
			img->convert(Image::FORMAT_RGB8);
			
			String temp_path = EditorPaths::get_singleton()->get_cache_dir();
			String cache_base = ProjectSettings::get_singleton()->globalize_path(p_file).md5_text();
			cache_base = temp_path.path_join("resthumb-" + cache_base);
			
			post_process_preview(img);
			img->save_png(cache_base + ".png");
		}
	}
	save.step(TTR("Saving Scene"), 4);
	_save_scene(p_file, p_idx);
	if (!singleton->cmdline_export_mode) {
		EditorResourcePreview::get_singleton()->check_for_invalidation(p_file);
	}
}
bool EditorNode::_validate_scene_recursive(const String &p_filename, Node *p_node) {
	for (int i = 0; i < p_node->get_child_count(); i++) {
		Node *child = p_node->get_child(i);
		if (child->get_scene_file_path() == p_filename) {
			return true;
		}
		if (_validate_scene_recursive(p_filename, child)) {
			return true;
		}
	}
	return false;
}
int EditorNode::_save_external_resources() {