Changed: Use QSaveFile to be sure the file is fully written

This commit is contained in:
kervala 2016-11-03 14:42:07 +01:00
parent 4bb2195a79
commit 0086afcee9

View file

@ -462,7 +462,7 @@ bool CFilesExtractor::extract7z()
} }
// create file // create file
QFile outFile(destPath); QSaveFile outFile(destPath);
if (!outFile.open(QFile::WriteOnly)) if (!outFile.open(QFile::WriteOnly))
{ {
@ -496,7 +496,7 @@ bool CFilesExtractor::extract7z()
break; break;
} }
outFile.close(); outFile.commit();
totalUncompressed += uncompressedSize; totalUncompressed += uncompressedSize;
@ -620,7 +620,7 @@ bool CFilesExtractor::extractZip()
return true; return true;
} }
QFile f(absPath); QSaveFile f(absPath);
if (!f.open(QIODevice::WriteOnly)) if (!f.open(QIODevice::WriteOnly))
{ {
@ -637,7 +637,7 @@ bool CFilesExtractor::extractZip()
nlwarning("Unable to change permissions of %s", Q2C(absPath)); nlwarning("Unable to change permissions of %s", Q2C(absPath));
} }
f.close(); f.commit();
// set the right modification date // set the right modification date
if (!NLMISC::CFile::setFileModificationDate(qToUtf8(absPath), fi.lastModified.toTime_t())) if (!NLMISC::CFile::setFileModificationDate(qToUtf8(absPath), fi.lastModified.toTime_t()))