summaryrefslogtreecommitdiff
path: root/core/object/class_db.cpp
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <remi@verschelde.fr>2022-10-16 11:51:21 +0200
committerGitHub <noreply@github.com>2022-10-16 11:51:21 +0200
commit767f8fb483851a210f170956e238e8b0cefa3834 (patch)
tree4d5808f39581deacc59f75cd1414a75d199e1c15 /core/object/class_db.cpp
parentdc4b6165962536b53c4c1471fcf0be43c70e2335 (diff)
parent1d5aa74ac3a3967401dd4028d846403ce6c2011c (diff)
Merge pull request #66979 from rburing/gdextension_abstract_class
GDExtension: add support for virtual and abstract classes
Diffstat (limited to 'core/object/class_db.cpp')
-rw-r--r--core/object/class_db.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/core/object/class_db.cpp b/core/object/class_db.cpp
index ca56add2ab..41585943b3 100644
--- a/core/object/class_db.cpp
+++ b/core/object/class_db.cpp
@@ -1528,7 +1528,10 @@ void ClassDB::register_extension_class(ObjectNativeExtension *p_extension) {
c.api = p_extension->editor_class ? API_EDITOR_EXTENSION : API_EXTENSION;
c.native_extension = p_extension;
c.name = p_extension->class_name;
- c.creation_func = parent->creation_func;
+ c.is_virtual = p_extension->is_virtual;
+ if (!p_extension->is_abstract) {
+ c.creation_func = parent->creation_func;
+ }
c.inherits = parent->name;
c.class_ptr = parent->class_ptr;
c.inherits_ptr = parent;