summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scene/gui/control.cpp2
-rw-r--r--scene/resources/dynamic_font.cpp6
2 files changed, 6 insertions, 2 deletions
diff --git a/scene/gui/control.cpp b/scene/gui/control.cpp
index b122ab4183..666ac88055 100644
--- a/scene/gui/control.cpp
+++ b/scene/gui/control.cpp
@@ -1844,7 +1844,7 @@ void Control::_propagate_theme_changed(CanvasItem *p_at,Control *p_owner) {
Control *c = p_at->cast_to<Control>();
- if (c && c->data.theme.is_valid()) // has a theme, this can't be propagated
+ if (c && c!=p_owner && c->data.theme.is_valid()) // has a theme, this can't be propagated
return;
for(int i=0;i<p_at->get_child_count();i++) {
diff --git a/scene/resources/dynamic_font.cpp b/scene/resources/dynamic_font.cpp
index 78a5571bf0..1edae01754 100644
--- a/scene/resources/dynamic_font.cpp
+++ b/scene/resources/dynamic_font.cpp
@@ -573,7 +573,11 @@ DynamicFontAtSize::~DynamicFontAtSize(){
void DynamicFont::set_font_data(const Ref<DynamicFontData>& p_data) {
data=p_data;
- data_at_size=data->_get_dynamic_font_at_size(size);
+ if (data.is_valid())
+ data_at_size=data->_get_dynamic_font_at_size(size);
+ else
+ data_at_size=Ref<DynamicFontAtSize>();
+
emit_changed();
}