Browse Source

Merge pull request #76404 from sodaJar/gdrep

Fix wrong file name on function call error
Rémi Verschelde 2 years ago
parent
commit
a98997bb45
1 changed files with 4 additions and 3 deletions
  1. 4 3
      modules/gdscript/gdscript_vm.cpp

+ 4 - 3
modules/gdscript/gdscript_vm.cpp

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