diff --git a/src/transferengine.cpp b/src/transferengine.cpp index ec92870..f12de8f 100644 --- a/src/transferengine.cpp +++ b/src/transferengine.cpp @@ -178,6 +178,16 @@ void TransferEnginePrivate::exitSafely() { if (!m_activityMonitor->activeTransfers()) { qDebug() << Q_FUNC_INFO; + QTimer::singleShot(2000, this, SLOT(delayedExitSafely())); + } +} + +void TransferEnginePrivate::delayedExitSafely() +{ + if (m_activityMonitor->activeTransfers()) { + qDebug() << "Keeping transfer engine alive, transfers still ongoing"; + } else { + qDebug() << "Stopping transfer engine"; qApp->exit(); } } diff --git a/src/transferengine_p.h b/src/transferengine_p.h index ef0bb3e..61c3815 100644 --- a/src/transferengine_p.h +++ b/src/transferengine_p.h @@ -118,6 +118,7 @@ class TransferEnginePrivate: QObject public Q_SLOTS: void exitSafely(); + void delayedExitSafely(); void enabledPluginsCheck(); void cleanupExpiredTransfers(const QList &expiredIds); void pluginDirChanged();