diff options
author | Aaron McCarthy <aaron.mccarthy@nokia.com> | 2010-09-27 07:05:25 (GMT) |
---|---|---|
committer | Aaron McCarthy <aaron.mccarthy@nokia.com> | 2010-09-28 01:54:33 (GMT) |
commit | 4acbb418b1ad093ad848143218a10ee2957db282 (patch) | |
tree | 2149ef44b2853d4aa540d1566a17ef5a3ef08f70 /src/plugins/bearer/icd/qnetworksession_impl.cpp | |
parent | 668f1bcdb6e75ad420fd510ec7e264ca87f5c174 (diff) | |
download | Qt-4acbb418b1ad093ad848143218a10ee2957db282.zip Qt-4acbb418b1ad093ad848143218a10ee2957db282.tar.gz Qt-4acbb418b1ad093ad848143218a10ee2957db282.tar.bz2 |
Connect/Disconnect requests needs to use the same dbus connection to ICD for the refcounting to work in ICD.
Fixes NB#188145 - Network interface doesn't go down after last client disconnects
Diffstat (limited to 'src/plugins/bearer/icd/qnetworksession_impl.cpp')
-rw-r--r-- | src/plugins/bearer/icd/qnetworksession_impl.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/plugins/bearer/icd/qnetworksession_impl.cpp b/src/plugins/bearer/icd/qnetworksession_impl.cpp index 8013d30..787cc55 100644 --- a/src/plugins/bearer/icd/qnetworksession_impl.cpp +++ b/src/plugins/bearer/icd/qnetworksession_impl.cpp @@ -881,7 +881,6 @@ void QNetworkSessionPrivateImpl::close() } else if (isOpen) { if ((activeConfig.state() & QNetworkConfiguration::Active) == QNetworkConfiguration::Active) { // We will not wait any disconnect from icd as it might never come - Maemo::Icd icd; #ifdef BEARER_MANAGEMENT_DEBUG qDebug() << "closing session" << publicConfig.identifier(); #endif @@ -894,7 +893,7 @@ void QNetworkSessionPrivateImpl::close() opened = false; isOpen = false; - icd.disconnect(ICD_CONNECTION_FLAG_APPLICATION_EVENT); + m_dbusInterface->call(ICD_DBUS_API_DISCONNECT_REQ, ICD_CONNECTION_FLAG_APPLICATION_EVENT); startTime = QDateTime(); } else { opened = false; @@ -915,7 +914,6 @@ void QNetworkSessionPrivateImpl::stop() emit QNetworkSessionPrivate::error(lastError); } else { if ((activeConfig.state() & QNetworkConfiguration::Active) == QNetworkConfiguration::Active) { - Maemo::Icd icd; #ifdef BEARER_MANAGEMENT_DEBUG qDebug() << "stopping session" << publicConfig.identifier(); #endif @@ -928,7 +926,7 @@ void QNetworkSessionPrivateImpl::stop() opened = false; isOpen = false; - icd.disconnect(ICD_CONNECTION_FLAG_APPLICATION_EVENT); + m_dbusInterface->call(ICD_DBUS_API_DISCONNECT_REQ, ICD_CONNECTION_FLAG_APPLICATION_EVENT); startTime = QDateTime(); } else { opened = false; |