소스 검색

Cancel rename if file does not exist

Tomasz Chabora 5 년 전
부모
커밋
bb2684f4a7
1개의 변경된 파일2개의 추가작업 그리고 0개의 파일을 삭제
  1. 2 0
      core/bind/core_bind.cpp

+ 2 - 0
core/bind/core_bind.cpp

@@ -1743,11 +1743,13 @@ Error _Directory::rename(String p_from, String p_to) {
 	ERR_FAIL_COND_V_MSG(!is_open(), ERR_UNCONFIGURED, "Directory must be opened before use.");
 	ERR_FAIL_COND_V_MSG(!is_open(), ERR_UNCONFIGURED, "Directory must be opened before use.");
 	if (!p_from.is_rel_path()) {
 	if (!p_from.is_rel_path()) {
 		DirAccess *d = DirAccess::create_for_path(p_from);
 		DirAccess *d = DirAccess::create_for_path(p_from);
+		ERR_FAIL_COND_V_MSG(!d->file_exists(p_from), ERR_DOES_NOT_EXIST, "File does not exist.");
 		Error err = d->rename(p_from, p_to);
 		Error err = d->rename(p_from, p_to);
 		memdelete(d);
 		memdelete(d);
 		return err;
 		return err;
 	}
 	}
 
 
+	ERR_FAIL_COND_V_MSG(!d->file_exists(p_from), ERR_DOES_NOT_EXIST, "File does not exist.");
 	return d->rename(p_from, p_to);
 	return d->rename(p_from, p_to);
 }
 }