diff --git a/src/base/bittorrent/private/resumedatasavingmanager.cpp b/src/base/bittorrent/private/resumedatasavingmanager.cpp index c32a1f65a..d17225cb2 100644 --- a/src/base/bittorrent/private/resumedatasavingmanager.cpp +++ b/src/base/bittorrent/private/resumedatasavingmanager.cpp @@ -27,8 +27,13 @@ */ #include +#ifdef QBT_USES_QT5 +#include +#else #include +#endif +#include "base/logger.h" #include "base/utils/fs.h" #include "resumedatasavingmanager.h" @@ -43,7 +48,18 @@ void ResumeDataSavingManager::saveResumeData(QString infoHash, QByteArray data) QString filepath = m_resumeDataDir.absoluteFilePath(filename); qDebug() << "Saving resume data in" << filepath; +#ifdef QBT_USES_QT5 + QSaveFile resumeFile(filepath); +#else QFile resumeFile(filepath); - if (resumeFile.open(QIODevice::WriteOnly)) +#endif + if (resumeFile.open(QIODevice::WriteOnly)) { resumeFile.write(data); +#ifdef QBT_USES_QT5 + if (!resumeFile.commit()) { + Logger::instance()->addMessage(QString("Couldn't save resume data in %1. Error: %2") + .arg(filepath).arg(resumeFile.errorString()), Log::WARNING); + } +#endif + } }