### 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
ERR_FAIL_COND(p_script.is_null());
	Vector<DocData::ClassDoc> documentations = p_script->get_documentation();
	for (int j = 0; j < documentations.size(); j++) {
		const DocData::ClassDoc &doc = documentations.get(j);
		if (EditorHelp::get_doc_data()->has_doc(doc.name)) {
			EditorHelp::get_doc_data()->remove_doc(doc.name);
		}
	}
}
void ScriptEditor::update_docs_from_script(const Ref<Script> &p_script) {
	ERR_FAIL_COND(p_script.is_null());
	Vector<DocData::ClassDoc> documentations = p_script->get_documentation();
	for (int j = 0; j < documentations.size(); j++) {
		const DocData::ClassDoc &doc = documentations.get(j);
		EditorHelp::get_doc_data()->add_doc(doc);
		update_doc(doc.name);
	}
}
void ScriptEditor::_update_selected_editor_menu() {
	for (int i = 0; i < tab_container->get_tab_count(); i++) {
		bool current = tab_container->get_current_tab() == i;