Fetch extension class props from ClassDB
Extension class properties that have been registered with ClassDB(`GDNativeInterface::classdb_register_extension_class_property`) were not fetched previously. (Only directly providing a property list using `GDNativeExtensionClassCreationInfo::get_property_list_func` would work.) This especially caused problems with the C++ bindings since they exclusively rely on ClassDB to register properties.
This commit is contained in:
parent
b67e68bce3
commit
a9aba86943
1 changed files with 6 additions and 1 deletions
|
@ -628,7 +628,10 @@ void Object::get_property_list(List<PropertyInfo> *p_list, bool p_reversed) cons
|
|||
script_instance->get_property_list(p_list);
|
||||
}
|
||||
|
||||
_get_property_listv(p_list, p_reversed);
|
||||
if (_extension) {
|
||||
p_list->push_back(PropertyInfo(Variant::NIL, _extension->class_name, PROPERTY_HINT_NONE, String(), PROPERTY_USAGE_CATEGORY));
|
||||
ClassDB::get_property_list(_extension->class_name, p_list, true, this);
|
||||
}
|
||||
|
||||
if (_extension && _extension->get_property_list) {
|
||||
uint32_t pcount;
|
||||
|
@ -641,6 +644,8 @@ void Object::get_property_list(List<PropertyInfo> *p_list, bool p_reversed) cons
|
|||
}
|
||||
}
|
||||
|
||||
_get_property_listv(p_list, p_reversed);
|
||||
|
||||
if (!is_class("Script")) { // can still be set, but this is for user-friendliness
|
||||
p_list->push_back(PropertyInfo(Variant::OBJECT, "script", PROPERTY_HINT_RESOURCE_TYPE, "Script", PROPERTY_USAGE_DEFAULT));
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue