### 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
HashMap<String, Cache>::Iterator E = cached.find(p_path);
		if (!E) {
			Cache c;
			c.cache = ResourceLoader::load(p_path);
			E = cached.insert(p_path, c);
		}
		E->value.time_loaded = OS::get_singleton()->get_ticks_msec();
		if (cached.size() > max_cache_size) {
			uint64_t older;
			HashMap<String, Cache>::Iterator O = cached.begin();
			older = O->value.time_loaded;
			HashMap<String, Cache>::Iterator I = O;
			while (I) {
				if (I->value.time_loaded < older) {
					older = I->value.time_loaded;
					O = I;
				}
				++I;
			}
			if (O != E) { 
				cached.remove(O);
			}
		}
		return E->value.cache;
	}
	virtual ~EditorScriptCodeCompletionCache() {}