Merge pull request #99133 from dsnopek/gdextension-reloadable-when-not-createable
GDExtension: Check if class without recreate callback is creatable, before marking whole extension as unreloadable
This commit is contained in:
commit
c10c656ea7
1 changed files with 10 additions and 2 deletions
|
|
@ -410,8 +410,16 @@ void GDExtension::_register_extension_class_internal(GDExtensionClassLibraryPtr
|
|||
}
|
||||
|
||||
if (self->reloadable && p_extension_funcs->recreate_instance_func == nullptr) {
|
||||
ERR_PRINT(vformat("Extension marked as reloadable, but attempted to register class '%s' which doesn't support reloading. Perhaps your language binding don't support it? Reloading disabled for this extension.", class_name));
|
||||
self->reloadable = false;
|
||||
bool can_create_class = (bool)p_extension_funcs->create_instance_func;
|
||||
#ifndef DISABLE_DEPRECATED
|
||||
if (!can_create_class && p_deprecated_funcs) {
|
||||
can_create_class = (bool)p_deprecated_funcs->create_instance_func;
|
||||
}
|
||||
#endif
|
||||
if (can_create_class) {
|
||||
ERR_PRINT(vformat("Extension marked as reloadable, but attempted to register class '%s' which doesn't support reloading. Perhaps your language binding don't support it? Reloading disabled for this extension.", class_name));
|
||||
self->reloadable = false;
|
||||
}
|
||||
}
|
||||
|
||||
extension->gdextension.library = self;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue