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.type=cn->value.get_type();
|
||||||
member._export.usage|=PROPERTY_USAGE_SCRIPT_VARIABLE;
|
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
|
#ifdef TOOLS_ENABLED
|
||||||
|
|
Loading…
Reference in a new issue