### 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
menu_hb->add_spacer();
	site_search = memnew(Button);
	site_search->set_flat(true);
	site_search->set_text(TTR("Online Docs"));
	site_search->connect("pressed", callable_mp(this, &ScriptEditor::_menu_option).bind(SEARCH_WEBSITE));
	menu_hb->add_child(site_search);
	site_search->set_tooltip_text(TTR("Open Godot online documentation."));
	help_search = memnew(Button);
	help_search->set_flat(true);
	help_search->set_text(TTR("Search Help"));
	help_search->connect("pressed", callable_mp(this, &ScriptEditor::_menu_option).bind(SEARCH_HELP));
	menu_hb->add_child(help_search);
	help_search->set_tooltip_text(TTR("Search the reference documentation."));
	menu_hb->add_child(memnew(VSeparator));
	script_back = memnew(Button);
	script_back->set_flat(true);
	script_back->connect("pressed", callable_mp(this, &ScriptEditor::_history_back));
	menu_hb->add_child(script_back);
	script_back->set_disabled(true);
	script_back->set_tooltip_text(TTR("Go to previous edited document."));
	script_forward = memnew(Button);
	script_forward->set_flat(true);
	script_forward->connect("pressed", callable_mp(this, &ScriptEditor::_history_forward));
	menu_hb->add_child(script_forward);
	script_forward->set_disabled(true);
	script_forward->set_tooltip_text(TTR("Go to next edited document."));
	tab_container->connect("tab_changed", callable_mp(this, &ScriptEditor::_tab_changed));
	erase_tab_confirm = memnew(ConfirmationDialog);
	erase_tab_confirm->set_ok_button_text(TTR("Save"));
	erase_tab_confirm->add_button(TTR("Discard"), DisplayServer::get_singleton()->get_swap_cancel_ok(), "discard");