Unbreak importing files in the same directory as current file.

This commit fixes a bug introduced in commit 0d7aa0a1.
pull/10/head
whitequark 2016-06-06 16:05:37 +00:00
parent 122920d3ee
commit 215b8e4537
1 changed files with 14 additions and 11 deletions

View File

@ -804,17 +804,20 @@ bool SolveSpaceUI::ReloadAllImported(bool canCancel)
g->linkFile = newPath;
}
std::string rel = PathSepUNIXToPlatform(g->linkFileRel);
std::string fromRel = MakePathAbsolute(SS.saveFile, rel);
FILE *test = ssfopen(fromRel, "rb");
if(test) {
fclose(test);
// Okay, exists; update the absolute path.
g->linkFile = fromRel;
} else {
// It doesn't exist. Perhaps the file was moved but the tree wasn't, and we
// can use the absolute filename to get us back. The relative path will be
// updated below.
// In a newly created group we only have an absolute path.
if(!g->linkFileRel.empty()) {
std::string rel = PathSepUNIXToPlatform(g->linkFileRel);
std::string fromRel = MakePathAbsolute(SS.saveFile, rel);
FILE *test = ssfopen(fromRel, "rb");
if(test) {
fclose(test);
// Okay, exists; update the absolute path.
g->linkFile = fromRel;
} else {
// It doesn't exist. Perhaps the file was moved but the tree wasn't, and we
// can use the absolute filename to get us back. The relative path will be
// updated below.
}
}
try_load_file: