Merge pull request #1037 from dsnopek/fix-object-cast-to

Fix Object::cast_to<T>() for custom classes
pull/1040/head
Rémi Verschelde 2023-02-14 19:11:29 +01:00
commit 8a3faaa649
No known key found for this signature in database
GPG Key ID: C3336907360768E1
1 changed files with 2 additions and 2 deletions

View File

@ -142,7 +142,7 @@ T *Object::cast_to(Object *p_object) {
if (casted == nullptr) { if (casted == nullptr) {
return nullptr; return nullptr;
} }
return reinterpret_cast<T *>(internal::gde_interface->object_get_instance_binding(casted, internal::token, &T::___binding_callbacks)); return dynamic_cast<T *>((Object *)internal::gde_interface->object_get_instance_binding(casted, internal::token, &T::___binding_callbacks));
} }
template <class T> template <class T>
@ -155,7 +155,7 @@ const T *Object::cast_to(const Object *p_object) {
if (casted == nullptr) { if (casted == nullptr) {
return nullptr; return nullptr;
} }
return reinterpret_cast<const T *>(internal::gde_interface->object_get_instance_binding(casted, internal::token, &T::___binding_callbacks)); return dynamic_cast<const T *>((Object *)internal::gde_interface->object_get_instance_binding(casted, internal::token, &T::___binding_callbacks));
} }
} // namespace godot } // namespace godot