Unverified Commit cbb86fdf by Rémi Verschelde Committed by GitHub

Merge pull request #38427 from EricEzaM/fix-custom-property-revert-implementation

Stop trying to revert to script/class default values when script implementation of property_can_revert exists
parents 42649565 27ada5c1
......@@ -501,18 +501,20 @@ bool EditorPropertyRevert::can_property_revert(Object *p_object, const StringNam
}
}
if (p_object->call("property_can_revert", p_property).operator bool()) {
has_revert = true;
}
if (!has_revert && !p_object->get_script().is_null()) {
Ref<Script> scr = p_object->get_script();
if (scr.is_valid()) {
Variant orig_value;
if (scr->get_property_default_value(p_property, orig_value)) {
if (orig_value != p_object->get(p_property)) {
has_revert = true;
// If the object implements property_can_revert, rely on that completely
// (i.e. don't then try to revert to default value - the property_get_revert implementation
// can do that if so desired)
if (p_object->has_method("property_can_revert")) {
has_revert = p_object->call("property_can_revert", p_property).operator bool();
} else {
if (!has_revert && !p_object->get_script().is_null()) {
Ref<Script> scr = p_object->get_script();
if (scr.is_valid()) {
Variant orig_value;
if (scr->get_property_default_value(p_property, orig_value)) {
if (orig_value != p_object->get(p_property)) {
has_revert = true;
}
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment