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:
Fabio Alessandrelli 2016-10-06 20:24:32 +02:00 committed by Rémi Verschelde
parent a7d6894a9f
commit e51cd3d454

View file

@ -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