diff --git a/src/libsync/owncloudpropagator.cpp b/src/libsync/owncloudpropagator.cpp index dce440391f..72046fccf4 100644 --- a/src/libsync/owncloudpropagator.cpp +++ b/src/libsync/owncloudpropagator.cpp @@ -762,6 +762,7 @@ void CleanupPollsJob::slotPollFinished() Q_ASSERT(job); if (job->_item->_status == SyncFileItem::FatalError) { emit aborted(job->_item->_errorString); + deleteLater(); return; } else if (job->_item->_status != SyncFileItem::Success) { qDebug() << "There was an error with file " << job->_item->_file << job->_item->_errorString; @@ -771,6 +772,7 @@ void CleanupPollsJob::slotPollFinished() job->_item->_status = SyncFileItem::FatalError; job->_item->_errorString = tr("Error writing metadata to the database"); emit aborted(job->_item->_errorString); + deleteLater(); return; } } diff --git a/src/libsync/owncloudpropagator.h b/src/libsync/owncloudpropagator.h index 7c0a03a2be..8e2ce89c3e 100644 --- a/src/libsync/owncloudpropagator.h +++ b/src/libsync/owncloudpropagator.h @@ -410,6 +410,10 @@ public: ~CleanupPollsJob(); + /** + * Start the job. After the job is completed, it will emit either finished or aborted, and it + * will destroy itself. + */ void start(); signals: void finished();