|
@@ -3572,8 +3572,9 @@ Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_a
|
|
//error
|
|
//error
|
|
// function, file, line, error, explanation
|
|
// function, file, line, error, explanation
|
|
String err_file;
|
|
String err_file;
|
|
- if (p_instance && ObjectDB::get_instance(p_instance->owner_id) != nullptr && p_instance->script->is_valid() && !p_instance->script->path.is_empty()) {
|
|
|
|
- err_file = p_instance->script->path;
|
|
|
|
|
|
+ bool instance_valid_with_script = p_instance && ObjectDB::get_instance(p_instance->owner_id) != nullptr && p_instance->script->is_valid();
|
|
|
|
+ if (instance_valid_with_script && !get_script()->path.is_empty()) {
|
|
|
|
+ err_file = get_script()->path;
|
|
} else if (script) {
|
|
} else if (script) {
|
|
err_file = script->path;
|
|
err_file = script->path;
|
|
}
|
|
}
|
|
@@ -3581,7 +3582,7 @@ Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_a
|
|
err_file = "<built-in>";
|
|
err_file = "<built-in>";
|
|
}
|
|
}
|
|
String err_func = name;
|
|
String err_func = name;
|
|
- if (p_instance && ObjectDB::get_instance(p_instance->owner_id) != nullptr && p_instance->script->is_valid() && !p_instance->script->name.is_empty()) {
|
|
|
|
|
|
+ if (instance_valid_with_script && !p_instance->script->name.is_empty()) {
|
|
err_func = p_instance->script->name + "." + err_func;
|
|
err_func = p_instance->script->name + "." + err_func;
|
|
}
|
|
}
|
|
int err_line = line;
|
|
int err_line = line;
|