From a30d49f4fc845164ef6bba4d2a834efce1dc01d7 Mon Sep 17 00:00:00 2001 From: Mikaƫl Capelle Date: Fri, 4 Dec 2020 08:50:31 +0100 Subject: Avoid duplicating code to simulate startup. --- src/downloadmanagerproxy.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/downloadmanagerproxy.cpp') diff --git a/src/downloadmanagerproxy.cpp b/src/downloadmanagerproxy.cpp index 06dad21f..95099044 100644 --- a/src/downloadmanagerproxy.cpp +++ b/src/downloadmanagerproxy.cpp @@ -7,7 +7,14 @@ using namespace MOBase; using namespace MOShared; DownloadManagerProxy::DownloadManagerProxy(OrganizerProxy* oproxy, DownloadManager* downloadManager) : - m_OrganizerProxy(oproxy), m_Proxied(downloadManager) + m_OrganizerProxy(oproxy), m_Proxied(downloadManager) { } + +DownloadManagerProxy::~DownloadManagerProxy() +{ + disconnectSignals(); +} + +void DownloadManagerProxy::connectSignals() { m_Connections.push_back(m_Proxied->onDownloadComplete(callSignalIfPluginActive(m_OrganizerProxy, m_DownloadComplete))); m_Connections.push_back(m_Proxied->onDownloadFailed(callSignalIfPluginActive(m_OrganizerProxy, m_DownloadFailed))); @@ -15,11 +22,12 @@ DownloadManagerProxy::DownloadManagerProxy(OrganizerProxy* oproxy, DownloadManag m_Connections.push_back(m_Proxied->onDownloadPaused(callSignalIfPluginActive(m_OrganizerProxy, m_DownloadPaused))); } -DownloadManagerProxy::~DownloadManagerProxy() +void DownloadManagerProxy::disconnectSignals() { for (auto& conn : m_Connections) { conn.disconnect(); } + m_Connections.clear(); } int DownloadManagerProxy::startDownloadURLs(const QStringList& urls) -- cgit v1.3.1