From 062840871f0d740d55cec0aadb8c18b95f7cef62 Mon Sep 17 00:00:00 2001 From: Kitsune Ral Date: Fri, 23 Mar 2018 12:15:56 +0900 Subject: Room::downloadFile(): make sure to store the initiated file transfer anew QHash doesn't overwrite an entry if it already exists; this might lead to the target file name from the previous transfer kept in the table of file transfers. The commit fixes that. --- room.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/room.cpp b/room.cpp index 3ea6c323..b48a1fc4 100644 --- a/room.cpp +++ b/room.cpp @@ -1125,6 +1125,8 @@ void Room::downloadFile(const QString& eventId, const QUrl& localFilename) auto job = connection()->downloadFile(fileUrl, filePath); if (isJobRunning(job)) { + // If there was a previous transfer (completed or failed), remove it. + d->fileTransfers.remove(eventId); d->fileTransfers.insert(eventId, { job, job->targetFileName() }); connect(job, &BaseJob::downloadProgress, this, [this,eventId] (qint64 received, qint64 total) { -- cgit v1.2.3