From 215f9492f0c2e4d4495da1570efb3c0711b5eb95 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 5 Sep 2013 12:42:07 +0200 Subject: [PATCH] * Only disconnectAll / connectAll for sip-plugins. --- src/libtomahawk/accounts/AccountManager.cpp | 22 ++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/libtomahawk/accounts/AccountManager.cpp b/src/libtomahawk/accounts/AccountManager.cpp index 03cc18491..a2fcd77a2 100644 --- a/src/libtomahawk/accounts/AccountManager.cpp +++ b/src/libtomahawk/accounts/AccountManager.cpp @@ -188,11 +188,16 @@ AccountManager::connectAll() { if ( acc->enabled() ) { - acc->authenticate(); - m_enabledAccounts << acc; - } + if ( acc->sipPlugin() ) + { + tDebug() << Q_FUNC_INFO << "Connecting" << acc->accountFriendlyName(); + acc->authenticate(); + m_enabledAccounts << acc; + } + } } + m_connected = true; } @@ -202,9 +207,16 @@ AccountManager::disconnectAll() { tDebug( LOGVERBOSE ) << Q_FUNC_INFO; foreach ( Account* acc, m_enabledAccounts ) - acc->deauthenticate(); + { + if ( acc->sipPlugin() ) + { + tDebug() << Q_FUNC_INFO << "Disconnecting" << acc->accountFriendlyName(); + acc->deauthenticate(); + + m_enabledAccounts.removeAll( acc ); + } + } - m_enabledAccounts.clear(); SourceList::instance()->removeAllRemote(); m_connected = false; }