From 732f46cc69622c4f966395538c0458441c886ebf Mon Sep 17 00:00:00 2001 From: "Vladimir Golovnev (Glassez)" Date: Sat, 16 Jan 2016 15:18:04 +0300 Subject: [PATCH] Save resume data using QSaveFile (Qt5 only) --- .../private/resumedatasavingmanager.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) 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 + } }