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
This commit is contained in:
Fabio Alessandrelli 2016-10-06 20:24:32 +02:00
parent 1f9e16119f
commit ee7df2c89a

View File

@ -3101,6 +3101,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