diff --git a/scene/gui/control.cpp b/scene/gui/control.cpp index b122ab4183e..666ac88055f 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(); - 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;iget_child_count();i++) { diff --git a/scene/resources/dynamic_font.cpp b/scene/resources/dynamic_font.cpp index 78a5571bf05..1edae01754a 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& 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(); + emit_changed(); }