### Godot version

v4.0.beta17.mono.official [c40020513]

### System information

Window 11, Forward+, GTX 1060

### Issue description

Adding two theme variations in a row result to a  crash.

https://user-images.githubusercontent.com/93253123/217037249-1ce1d56d-beb6-4435-83ad-9f8a07fe0e96.mp4



### Steps to reproduce

1. Create a project.
2. Create a theme.
3. Double click to go in the theme editor.
4. Click on manage items buttons.
5. In the add type field type a name to add a type.
6. type another name to add a second type.
7. Crash.

### Minimal reproduction project

[ThemeVariationCrash.zip](https://github.com/godotengine/godot/files/10665863/ThemeVariationCrash.zip)

if (E) {
				HashMap<StringName, PropertyDocInfo>::Iterator F = E->value.find(propname);
				if (F) {
					found = true;
					doc_info = F->value;
				}
			}
			if (!found) {
				
				DocTools *dd = EditorHelp::get_doc_data();
				HashMap<String, DocData::ClassDoc>::Iterator F = dd->class_list.find(classname);
				while (F && doc_info.description.is_empty()) {
					for (int i = 0; i < F->value.properties.size(); i++) {
						if (F->value.properties[i].name == propname.operator String()) {
							doc_info.description = DTR(F->value.properties[i].description);
							doc_info.path = "class_property:" + F->value.name + ":" + F->value.properties[i].name;
							break;
						}
					}
					Vector<String> slices = propname.operator String().split("/");
					if (slices.size() == 2 && slices[0].begins_with("theme_override_")) {
						for (int i = 0; i < F->value.theme_properties.size(); i++) {
							if (F->value.theme_properties[i].name == slices[1]) {
								doc_info.description = DTR(F->value.theme_properties[i].description);
								doc_info.path = "class_theme_item:" + F->value.name + ":" + F->value.theme_properties[i].name;
								break;
							}
						}
					}
					if (!F->value.inherits.is_empty()) {