### 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
struct Cache {
		uint64_t time_loaded = 0;
		Ref<Resource> cache;
	};
	HashMap<String, Cache> cached;
public:
	uint64_t max_time_cache = 5 * 60 * 1000; 
	uint32_t max_cache_size = 128;
	void cleanup() {
		List<String> to_clean;
		HashMap<String, Cache>::Iterator I = cached.begin();
		while (I) {
			if ((OS::get_singleton()->get_ticks_msec() - I->value.time_loaded) > max_time_cache) {
				to_clean.push_back(I->key);
			}
			++I;
		}
		while (to_clean.front()) {
			cached.erase(to_clean.front()->get());
			to_clean.pop_front();
		}
	}
	virtual Ref<Resource> get_cached_resource(const String &p_path) {