### Godot version

3.5.1mono

### System information

windows10

### Issue description

Error message
 scene/main/node.cpp:1362 - Index p_index = 0 is out of bounds (data.children.size() = 0).
 scene/main/node.cpp:397 - Parameter "p_child" is null.
 scene/gui/tab_container.cpp:593 - Index p_current = 0 is out of bounds (get_tab_count() = 0).
See "Steps to reproduce for details"

### Steps to reproduce

Set an external text editor
Create a script
Drop the script to the built-in text editor like this image:
![image](https://user-images.githubusercontent.com/119792950/209504041-039f2620-5e42-4c0f-8c41-cd24486fb3d2.png)
And got error message:
 scene/main/node.cpp:1362 - Index p_index = 0 is out of bounds (data.children.size() = 0).
 scene/main/node.cpp:397 - Parameter "p_child" is null.
 scene/gui/tab_container.cpp:593 - Index p_current = 0 is out of bounds (get_tab_count() = 0).

### Minimal reproduction project

An empty project
TypedArray<ScriptEditorBase> script_editors;
	for (int i = 0; i < tab_container->get_tab_count(); i++) {
		ScriptEditorBase *se = Object::cast_to<ScriptEditorBase>(tab_container->get_tab_control(i));
		if (!se) {
			continue;
		}
		script_editors.push_back(se);
	}
	return script_editors;
}
void ScriptEditor::set_scene_root_script(Ref<Script> p_script) {
	
	bool use_external_editor =
			EDITOR_GET("text_editor/external/use_external_editor") ||
			(p_script.is_valid() && p_script->get_language()->overrides_external_editor());
	use_external_editor = use_external_editor && !(p_script.is_valid() && p_script->is_built_in()); 
	const bool open_dominant = EDITOR_GET("text_editor/behavior/files/open_dominant_script_on_scene_change");
	if (open_dominant && !use_external_editor && p_script.is_valid()) {
		edit(p_script);
	}
}
bool ScriptEditor::script_goto_method(Ref<Script> p_script, const String &p_method) {