summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2018-01-05 18:45:27 +0100
committerGitHub <noreply@github.com>2018-01-05 18:45:27 +0100
commiteaa9a98c6304a3af525c3e1116299904dbd585db (patch)
tree0fdf85c0308823280019637e3614dac3793f7329
parent7332da31fc42fc393bcef529749d6a41dfcdc703 (diff)
parenta63a82d5e5e062566b62f1984e4669b01f880c9d (diff)
Merge pull request #15372 from Faless/fix_themes
Fix theme inheritance
-rw-r--r--scene/gui/control.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/scene/gui/control.cpp b/scene/gui/control.cpp
index 6419659741..979a65f455 100644
--- a/scene/gui/control.cpp
+++ b/scene/gui/control.cpp
@@ -861,6 +861,8 @@ Ref<StyleBox> Control::get_stylebox(const StringName &p_name, const StringName &
class_name = ClassDB::get_parent_class_nocheck(class_name);
}
+ class_name = type;
+
Control *parent = Object::cast_to<Control>(theme_owner->get_parent());
if (parent)
@@ -869,8 +871,6 @@ Ref<StyleBox> Control::get_stylebox(const StringName &p_name, const StringName &
theme_owner = NULL;
}
- class_name = type;
-
while (class_name != StringName()) {
if (Theme::get_default()->has_stylebox(p_name, class_name))
return Theme::get_default()->get_stylebox(p_name, class_name);
@@ -2155,6 +2155,7 @@ void Control::set_theme(const Ref<Theme> &p_theme) {
data.theme = p_theme;
if (!p_theme.is_null()) {
+ data.theme_owner = this;
_propagate_theme_changed(this, this);
} else {