Throw an error when exporting a resource class
"export var tex = Texture"
will now throw an error to avoid crashing the editor:
"Exported constant not a type or resource"
Fixes #6719 . Closes #6729
(cherry picked from commit ee7df2c89a
)
This commit is contained in:
parent
a7d6894a9f
commit
e51cd3d454
1 changed files with 10 additions and 0 deletions
|
@ -2938,6 +2938,16 @@ void GDParser::_parse_class(ClassNode *p_class) {
|
|||
}
|
||||
member._export.type=cn->value.get_type();
|
||||
member._export.usage|=PROPERTY_USAGE_SCRIPT_VARIABLE;
|
||||
if (cn->value.get_type()==Variant::OBJECT) {
|
||||
Object *obj = cn->value;
|
||||
Resource *res = obj->cast_to<Resource>();
|
||||
if(res==NULL) {
|
||||
_set_error("Exported constant not a type or resource.");
|
||||
return;
|
||||
}
|
||||
member._export.hint=PROPERTY_HINT_RESOURCE_TYPE;
|
||||
member._export.hint_string=res->get_type();
|
||||
}
|
||||
}
|
||||
}
|
||||
#ifdef TOOLS_ENABLED
|
||||
|
|
Loading…
Reference in a new issue