diff options
Diffstat (limited to 'lib/room.cpp')
-rw-r--r-- | lib/room.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/room.cpp b/lib/room.cpp index eefccdb5..69ebd677 100644 --- a/lib/room.cpp +++ b/lib/room.cpp @@ -1902,9 +1902,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() }); + // If there was a previous transfer (completed or failed), overwrite it. + d->fileTransfers[eventId] = { job, job->targetFileName() }; connect(job, &BaseJob::downloadProgress, this, [this, eventId](qint64 received, qint64 total) { d->fileTransfers[eventId].update(received, total); |