Fix object_set_instance being wrongly called for built-in wrapped classes

This commit is contained in:
Gilles Roudière
2021-12-06 15:39:51 +01:00
parent f58a2f25a2
commit adbbf1a3a1
2 changed files with 10 additions and 20 deletions

View File

@@ -36,8 +36,15 @@
namespace godot {
const char *Wrapped::_get_extension_class() const {
return nullptr;
}
void Wrapped::_postinitialize() {
godot::internal::gdn_interface->object_set_instance(_owner, _get_class(), this);
const char *extension_class = _get_extension_class();
if (extension_class) {
godot::internal::gdn_interface->object_set_instance(_owner, extension_class, this);
}
godot::internal::gdn_interface->object_set_instance_binding(_owner, godot::internal::token, this, _get_bindings_callbacks());
}