Fix Theme overriding existing theme types with empty

This commit is contained in:
Yuri Sizov 2021-06-04 16:34:49 +03:00
parent 58ee66c52f
commit 790d6e602b
1 changed files with 18 additions and 0 deletions

View File

@ -553,6 +553,9 @@ void Theme::get_icon_list(StringName p_theme_type, List<StringName> *p_list) con
} }
void Theme::add_icon_type(const StringName &p_theme_type) { void Theme::add_icon_type(const StringName &p_theme_type) {
if (icon_map.has(p_theme_type)) {
return;
}
icon_map[p_theme_type] = HashMap<StringName, Ref<Texture2D>>(); icon_map[p_theme_type] = HashMap<StringName, Ref<Texture2D>>();
} }
@ -641,6 +644,9 @@ void Theme::get_stylebox_list(StringName p_theme_type, List<StringName> *p_list)
} }
void Theme::add_stylebox_type(const StringName &p_theme_type) { void Theme::add_stylebox_type(const StringName &p_theme_type) {
if (style_map.has(p_theme_type)) {
return;
}
style_map[p_theme_type] = HashMap<StringName, Ref<StyleBox>>(); style_map[p_theme_type] = HashMap<StringName, Ref<StyleBox>>();
} }
@ -730,6 +736,9 @@ void Theme::get_font_list(StringName p_theme_type, List<StringName> *p_list) con
} }
void Theme::add_font_type(const StringName &p_theme_type) { void Theme::add_font_type(const StringName &p_theme_type) {
if (font_map.has(p_theme_type)) {
return;
}
font_map[p_theme_type] = HashMap<StringName, Ref<Font>>(); font_map[p_theme_type] = HashMap<StringName, Ref<Font>>();
} }
@ -807,6 +816,9 @@ void Theme::get_font_size_list(StringName p_theme_type, List<StringName> *p_list
} }
void Theme::add_font_size_type(const StringName &p_theme_type) { void Theme::add_font_size_type(const StringName &p_theme_type) {
if (font_size_map.has(p_theme_type)) {
return;
}
font_size_map[p_theme_type] = HashMap<StringName, int>(); font_size_map[p_theme_type] = HashMap<StringName, int>();
} }
@ -882,6 +894,9 @@ void Theme::get_color_list(StringName p_theme_type, List<StringName> *p_list) co
} }
void Theme::add_color_type(const StringName &p_theme_type) { void Theme::add_color_type(const StringName &p_theme_type) {
if (color_map.has(p_theme_type)) {
return;
}
color_map[p_theme_type] = HashMap<StringName, Color>(); color_map[p_theme_type] = HashMap<StringName, Color>();
} }
@ -956,6 +971,9 @@ void Theme::get_constant_list(StringName p_theme_type, List<StringName> *p_list)
} }
void Theme::add_constant_type(const StringName &p_theme_type) { void Theme::add_constant_type(const StringName &p_theme_type) {
if (constant_map.has(p_theme_type)) {
return;
}
constant_map[p_theme_type] = HashMap<StringName, int>(); constant_map[p_theme_type] = HashMap<StringName, int>();
} }