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

switch (p_what) {
		case NOTIFICATION_DRAW: {
			Ref<StyleBox> sb = get_theme_stylebox(SNAME("bg"));
			draw_style_box(sb, Rect2(Vector2(), get_size()));
			Ref<Font> font = get_theme_font(SNAME("bold"), SNAME("EditorFonts"));
			int font_size = get_theme_font_size(SNAME("bold_size"), SNAME("EditorFonts"));
			int hs = get_theme_constant(SNAME("h_separation"), SNAME("Tree"));
			int w = font->get_string_size(label, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size).width;
			if (icon.is_valid()) {
				w += hs + icon->get_width();
			}
			int ofs = (get_size().width - w) / 2;
			if (icon.is_valid()) {
				draw_texture(icon, Point2(ofs, (get_size().height - icon->get_height()) / 2).floor());
				ofs += hs + icon->get_width();
			}
			Color color = get_theme_color(SNAME("font_color"), SNAME("Tree"));
			draw_string(font, Point2(ofs, font->get_ascent(font_size) + (get_size().height - font->get_height(font_size)) / 2).floor(), label, HORIZONTAL_ALIGNMENT_LEFT, get_size().width, font_size, color);
		} break;
	}
}
Control *EditorInspectorCategory::make_custom_tooltip(const String &p_text) const {