### 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)

Ref<Theme> base_theme = ThemeDB::get_singleton()->get_default_theme();
	List<StringName> theme_types;
	edited_theme->get_type_list(&theme_types);
	theme_types.sort_custom<StringName::AlphCompare>();
	bool item_reselected = false;
	edit_type_list->clear();
	TreeItem *list_root = edit_type_list->create_item();
	for (const StringName &E : theme_types) {
		Ref<Texture2D> item_icon;
		if (E == "") {
			item_icon = get_theme_icon(SNAME("NodeDisabled"), SNAME("EditorIcons"));
		} else {
			item_icon = EditorNode::get_singleton()->get_class_icon(E, "NodeDisabled");
		}
		TreeItem *list_item = edit_type_list->create_item(list_root);
		list_item->set_text(0, E);
		list_item->set_icon(0, item_icon);
		list_item->add_button(0, get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), TYPES_TREE_REMOVE_ITEM, false, TTR("Remove Type"));
		if (E == edited_item_type) {
			list_item->select(0);
			item_reselected = true;
		}
	}