Fix zip_root not being defined when importing by drag&drop

(cherry picked from commit 056deefa55)
This commit is contained in:
Ev1lbl0w 2021-05-19 22:34:33 +01:00 committed by Rémi Verschelde
parent f479a7972f
commit 664f1828e2
No known key found for this signature in database
GPG Key ID: C3336907360768E1

View File

@ -103,7 +103,6 @@ private:
FileDialog *fdialog_install; FileDialog *fdialog_install;
String zip_path; String zip_path;
String zip_title; String zip_title;
String zip_root;
AcceptDialog *dialog_error; AcceptDialog *dialog_error;
String fav_dir; String fav_dir;
@ -204,9 +203,7 @@ private:
char fname[16384]; char fname[16384];
ret = unzGetCurrentFileInfo(pkg, &info, fname, 16384, nullptr, 0, nullptr, 0); ret = unzGetCurrentFileInfo(pkg, &info, fname, 16384, nullptr, 0, nullptr, 0);
String fname_str = String(fname); if (String(fname).ends_with("project.godot")) {
if (fname_str.ends_with("project.godot")) {
zip_root = fname_str.substr(0, fname_str.rfind("project.godot"));
break; break;
} }
@ -508,7 +505,24 @@ private:
return; return;
} }
// Find the zip_root
String zip_root;
int ret = unzGoToFirstFile(pkg); int ret = unzGoToFirstFile(pkg);
while (ret == UNZ_OK) {
unz_file_info info;
char fname[16384];
unzGetCurrentFileInfo(pkg, &info, fname, 16384, nullptr, 0, nullptr, 0);
String name = fname;
if (name.ends_with("project.godot")) {
zip_root = name.substr(0, name.rfind("project.godot"));
break;
}
ret = unzGoToNextFile(pkg);
}
ret = unzGoToFirstFile(pkg);
Vector<String> failed_files; Vector<String> failed_files;