Fixes inability to assign script after clearing
This commit is contained in:
parent
98da707df5
commit
9187f5c849
2 changed files with 9 additions and 3 deletions
|
|
@ -409,7 +409,9 @@ bool PlaceHolderScriptInstance::set(const StringName &p_name, const Variant &p_v
|
|||
if (values.has(p_name)) {
|
||||
Variant defval;
|
||||
if (script->get_property_default_value(p_name, defval)) {
|
||||
if (defval == p_value) {
|
||||
// The evaluate function ensures that a NIL variant is equal to e.g. an empty Resource.
|
||||
// Simply doing defval == p_value does not do this.
|
||||
if (Variant::evaluate(Variant::OP_EQUAL, defval, p_value)) {
|
||||
values.erase(p_name);
|
||||
return true;
|
||||
}
|
||||
|
|
@ -419,7 +421,7 @@ bool PlaceHolderScriptInstance::set(const StringName &p_name, const Variant &p_v
|
|||
} else {
|
||||
Variant defval;
|
||||
if (script->get_property_default_value(p_name, defval)) {
|
||||
if (defval != p_value) {
|
||||
if (Variant::evaluate(Variant::OP_NOT_EQUAL, defval, p_value)) {
|
||||
values[p_name] = p_value;
|
||||
}
|
||||
return true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue