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

fit_child_in_rect(c, rect);
				right_child_rect = rect;
			}
			if (bottom_editor) {
				fit_child_in_rect(bottom_editor, bottom_rect);
				bottom_child_rect = bottom_rect;
			}
			queue_redraw(); 
		} break;
		case NOTIFICATION_DRAW: {
			Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Tree"));
			int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Tree"));
			bool rtl = is_layout_rtl();
			Size2 size = get_size();
			if (bottom_editor) {
				size.height = bottom_editor->get_offset(SIDE_TOP) - get_theme_constant(SNAME("v_separation"));
			} else if (label_reference) {
				size.height = label_reference->get_size().height;
			}
			Ref<StyleBox> sb = get_theme_stylebox(selected ? SNAME("bg_selected") : SNAME("bg"));
			draw_style_box(sb, Rect2(Vector2(), size));
			Ref<StyleBox> bg_stylebox = get_theme_stylebox(SNAME("child_bg"));
			if (draw_top_bg && right_child_rect != Rect2()) {
				draw_style_box(bg_stylebox, right_child_rect);
			}
			if (bottom_child_rect != Rect2()) {
				draw_style_box(bg_stylebox, bottom_child_rect);
			}
			Color color;
			if (draw_warning) {