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

break;
		case Theme::DATA_TYPE_MAX:
			return; 
	}
	updating_tree = true;
	for (List<TreeItem *>::Element *E = item_list->front(); E; E = E->next()) {
		TreeItem *child_item = E->get();
		if (!child_item) {
			continue;
		}
		child_item->set_checked(IMPORT_ITEM, true);
		child_item->propagate_check(IMPORT_ITEM, false);
		_store_selected_item(child_item);
	}
	updating_tree = false;
}
void ThemeItemImportTree::_select_full_data_type_pressed(int p_data_type) {
	ERR_FAIL_INDEX_MSG(p_data_type, Theme::DATA_TYPE_MAX, "Theme item data type is out of bounds.");
	if (updating_tree) {
		return;
	}
	Theme::DataType data_type = (Theme::DataType)p_data_type;
	List<TreeItem *> *item_list = nullptr;
	switch (data_type) {
		case Theme::DATA_TYPE_COLOR:
			item_list = &tree_color_items;
			break;
		case Theme::DATA_TYPE_CONSTANT:
			item_list = &tree_constant_items;
			break;