Improve error detection when saving files

This commit is contained in:
Chocobo1 2021-09-03 22:56:19 +08:00
parent 6a6268c068
commit 81139c0098
No known key found for this signature in database
GPG key ID: 210D9C873253A68C
5 changed files with 21 additions and 23 deletions

View file

@ -67,15 +67,12 @@ QDir AsyncFileStorage::storageDir() const
void AsyncFileStorage::store_impl(const QString &fileName, const QByteArray &data)
{
const QString filePath = m_storageDir.absoluteFilePath(fileName);
QSaveFile file(filePath);
qDebug() << "AsyncFileStorage: Saving data to" << filePath;
if (file.open(QIODevice::WriteOnly))
QSaveFile file(filePath);
if (!file.open(QIODevice::WriteOnly) || (file.write(data) != data.length()) || !file.commit())
{
file.write(data);
if (!file.commit())
{
qDebug() << "AsyncFileStorage: Failed to save data";
emit failed(filePath, file.errorString());
}
qDebug() << "AsyncFileStorage: Failed to save data";
emit failed(filePath, file.errorString());
}
}