Merge pull request #6813 from Faless/fix_6801_bis
Re-Allow absolute paths, make them behave correctly
This commit is contained in:
commit
5e373c2a69
3 changed files with 1 additions and 13 deletions
|
@ -54,7 +54,7 @@ String Globals::localize_path(const String& p_path) const {
|
||||||
if (resource_path=="")
|
if (resource_path=="")
|
||||||
return p_path; //not initialied yet
|
return p_path; //not initialied yet
|
||||||
|
|
||||||
if (p_path.begins_with("res://") || p_path.begins_with("user://"))
|
if (p_path.begins_with("res://") || p_path.begins_with("user://") || p_path.is_abs_path())
|
||||||
return p_path.simplify_path();
|
return p_path.simplify_path();
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -840,10 +840,6 @@ void GDFunctions::call(Function p_func,const Variant **p_args,int p_arg_count,Va
|
||||||
r_error.error=Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
|
r_error.error=Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
|
||||||
r_error.argument=0;
|
r_error.argument=0;
|
||||||
r_ret=Variant();
|
r_ret=Variant();
|
||||||
} else if(((String)(*p_args[0])).begins_with("/")) {
|
|
||||||
r_error.error=Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
|
|
||||||
r_error.argument=0;
|
|
||||||
r_ret=RTR("Paths cannot start with '/', absolute paths must start with 'res://', 'user://', or 'local://'");
|
|
||||||
} else {
|
} else {
|
||||||
r_ret=ResourceLoader::load(*p_args[0]);
|
r_ret=ResourceLoader::load(*p_args[0]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -309,10 +309,6 @@ GDParser::Node* GDParser::_parse_expression(Node *p_parent,bool p_static,bool p_
|
||||||
_set_error("expected string constant as 'preload' argument.");
|
_set_error("expected string constant as 'preload' argument.");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
if (path.begins_with("/")) {
|
|
||||||
_set_error("Paths cannot start with '/', absolute paths must start with \'res://\', \'user://\', or \'local://\'");
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
if (!path.is_abs_path() && base_path!="")
|
if (!path.is_abs_path() && base_path!="")
|
||||||
path=base_path+"/"+path;
|
path=base_path+"/"+path;
|
||||||
path = path.replace("///","//").simplify_path();
|
path = path.replace("///","//").simplify_path();
|
||||||
|
@ -2122,10 +2118,6 @@ void GDParser::_parse_extends(ClassNode *p_class) {
|
||||||
_set_error("'extends' constant must be a string.");
|
_set_error("'extends' constant must be a string.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (((String)(constant)).begins_with("/")) {
|
|
||||||
_set_error("Paths cannot start with '/', absolute paths must start with \'res://\', \'user://\', or \'local://\'");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
p_class->extends_file=constant;
|
p_class->extends_file=constant;
|
||||||
tokenizer->advance();
|
tokenizer->advance();
|
||||||
|
|
Loading…
Reference in a new issue