### 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 (Object::cast_to<Theme>(p_node)) {
		return true;
	}
	Ref<Theme> edited_theme = theme_editor->get_edited_theme();
	if (edited_theme.is_null()) {
		return false;
	}
	
	
	
	bool belongs_to_theme = false;
	if (Object::cast_to<Font>(p_node)) {
		Ref<Font> font_item = Object::cast_to<Font>(p_node);
		List<StringName> types;
		List<StringName> names;
		edited_theme->get_font_type_list(&types);
		for (const StringName &E : types) {
			names.clear();
			edited_theme->get_font_list(E, &names);
			for (const StringName &F : names) {
				if (font_item == edited_theme->get_font(F, E)) {
					belongs_to_theme = true;
					break;
				}
			}
		}
	} else if (Object::cast_to<StyleBox>(p_node)) {
		Ref<StyleBox> stylebox_item = Object::cast_to<StyleBox>(p_node);
		List<StringName> types;
		List<StringName> names;