From 2abc3ce2f52c8aca59d14d8189afebbb2059b317 Mon Sep 17 00:00:00 2001 From: Kevin Ottens Date: Wed, 24 Jun 2020 17:58:52 +0200 Subject: [PATCH] Stop leaking PropagateDownloadEncrypted objects We give them a parent to make sure they will be destroyed when the jobs which created them are destroyed themselves. Signed-off-by: Kevin Ottens --- src/libsync/propagatedownload.cpp | 2 +- src/libsync/propagatedownloadencrypted.cpp | 8 +++++--- src/libsync/propagatedownloadencrypted.h | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/libsync/propagatedownload.cpp b/src/libsync/propagatedownload.cpp index 6b85e2f70..67a7a4264 100644 --- a/src/libsync/propagatedownload.cpp +++ b/src/libsync/propagatedownload.cpp @@ -344,7 +344,7 @@ void PropagateDownloadFile::start() qCDebug(lcPropagateDownload) << _item->_file << propagator()->_activeJobList.count(); if (propagator()->account()->capabilities().clientSideEncryptionAvailable()) { - _downloadEncryptedHelper = new PropagateDownloadEncrypted(propagator(), _item); + _downloadEncryptedHelper = new PropagateDownloadEncrypted(propagator(), _item, this); connect(_downloadEncryptedHelper, &PropagateDownloadEncrypted::folderStatusNotEncrypted, [this] { startAfterIsEncryptedIsChecked(); }); diff --git a/src/libsync/propagatedownloadencrypted.cpp b/src/libsync/propagatedownloadencrypted.cpp index f807cadce..ace382d84 100644 --- a/src/libsync/propagatedownloadencrypted.cpp +++ b/src/libsync/propagatedownloadencrypted.cpp @@ -6,9 +6,11 @@ Q_LOGGING_CATEGORY(lcPropagateDownloadEncrypted, "nextcloud.sync.propagator.down namespace OCC { -PropagateDownloadEncrypted::PropagateDownloadEncrypted(OwncloudPropagator *propagator, SyncFileItemPtr item) : - _propagator(propagator), _item(item), _info(_item->_file) - +PropagateDownloadEncrypted::PropagateDownloadEncrypted(OwncloudPropagator *propagator, SyncFileItemPtr item, QObject *parent) + : QObject(parent) + , _propagator(propagator) + , _item(item) + , _info(_item->_file) { } diff --git a/src/libsync/propagatedownloadencrypted.h b/src/libsync/propagatedownloadencrypted.h index 98dc788af..b2a6b9475 100644 --- a/src/libsync/propagatedownloadencrypted.h +++ b/src/libsync/propagatedownloadencrypted.h @@ -15,7 +15,7 @@ namespace OCC { class PropagateDownloadEncrypted : public QObject { Q_OBJECT public: - PropagateDownloadEncrypted(OwncloudPropagator *propagator, SyncFileItemPtr item); + PropagateDownloadEncrypted(OwncloudPropagator *propagator, SyncFileItemPtr item, QObject *parent = nullptr); void start(); void checkFolderId(const QStringList &list); bool decryptFile(QFile& tmpFile); -- 2.30.2