fix gdextension Object/Node::to_string to check is_valid before returning the result

at best, this results in an empty string, at worst, the result is never
initialised when is_valid is false.
This commit is contained in:
Quentin Quaadgras
2025-04-19 10:45:12 +12:00
parent 2d3bdcac35
commit 23ffdd79e8
2 changed files with 6 additions and 2 deletions

View File

@@ -978,7 +978,9 @@ String Object::to_string() {
String ret;
GDExtensionBool is_valid;
_extension->to_string(_extension_instance, &is_valid, &ret);
return ret;
if (is_valid) {
return ret;
}
}
return "<" + get_class() + "#" + itos(get_instance_id()) + ">";
}

View File

@@ -2864,7 +2864,9 @@ String Node::to_string() {
String ret;
GDExtensionBool is_valid;
_get_extension()->to_string(_get_extension_instance(), &is_valid, &ret);
return ret;
if (is_valid) {
return ret;
}
}
return (get_name() ? String(get_name()) + ":" : "") + Object::to_string();
}