소스 검색

Merge pull request #8641 from RandomShaper/fix-pack-get-curr-dir-2.1

Fix infinite loop in DirAccessPack::get_current_dir() (2.1)
Rémi Verschelde 8 년 전
부모
커밋
056be08ab4
1개의 변경된 파일4개의 추가작업 그리고 5개의 파일을 삭제
  1. 4 5
      core/io/file_access_pack.cpp

+ 4 - 5
core/io/file_access_pack.cpp

@@ -438,13 +438,12 @@ Error DirAccessPack::change_dir(String p_dir) {
 
 String DirAccessPack::get_current_dir() {
 
-	String p;
 	PackedData::PackedDir *pd = current;
-	while (pd->parent) {
+	String p = current->name;
 
-		if (pd != current)
-			p = "/" + p;
-		p = p + pd->name;
+	while (pd->parent) {
+		pd = pd->parent;
+		p = pd->name + "/" + p;
 	}
 
 	return "res://" + p;