diff options
author | Liang Qi <liang.qi@nokia.com> | 2011-07-01 07:00:13 (GMT) |
---|---|---|
committer | Liang Qi <liang.qi@nokia.com> | 2011-07-01 07:00:13 (GMT) |
commit | 3dc0c38389670d6adddd972c532af98dd6b5deb5 (patch) | |
tree | 779945938b51cc6290bc6dcee1cb34f696f42242 /src/plugins/bearer | |
parent | 73f0d9534b593c65e4facf9a975e2c2e63608f03 (diff) | |
parent | f5feea56fc7202ab64a1b9c5f9b05391c2b88238 (diff) | |
download | Qt-3dc0c38389670d6adddd972c532af98dd6b5deb5.zip Qt-3dc0c38389670d6adddd972c532af98dd6b5deb5.tar.gz Qt-3dc0c38389670d6adddd972c532af98dd6b5deb5.tar.bz2 |
Merge remote-tracking branch 'origin/4.7' into qt-4.8-from-4.7
Conflicts:
src/s60installs/s60installs.pro
Diffstat (limited to 'src/plugins/bearer')
-rw-r--r-- | src/plugins/bearer/symbian/qnetworksession_impl.cpp | 9 | ||||
-rw-r--r-- | src/plugins/bearer/symbian/symbianengine.cpp | 14 |
2 files changed, 19 insertions, 4 deletions
diff --git a/src/plugins/bearer/symbian/qnetworksession_impl.cpp b/src/plugins/bearer/symbian/qnetworksession_impl.cpp index 107f347..fc65b86 100644 --- a/src/plugins/bearer/symbian/qnetworksession_impl.cpp +++ b/src/plugins/bearer/symbian/qnetworksession_impl.cpp @@ -459,6 +459,8 @@ TUint QNetworkSessionPrivateImpl::iapClientCount(TUint aIAPId) const { TRequestStatus status; TUint connectionCount; + if (!iConnectionMonitor.Handle()) + return 0; iConnectionMonitor.GetConnectionCount(connectionCount, status); User::WaitForRequest(status); if (status.Int() == KErrNone) { @@ -536,7 +538,8 @@ void QNetworkSessionPrivateImpl::stop() #endif if (!isOpen && publicConfig.isValid() && - publicConfig.type() == QNetworkConfiguration::InternetAccessPoint) { + publicConfig.type() == QNetworkConfiguration::InternetAccessPoint && + iConnectionMonitor.Handle()) { #ifdef QT_BEARERMGMT_SYMBIAN_DEBUG qDebug() << "QNS this : " << QString::number((uint)this) << " - " << "since session is not open, using RConnectionMonitor to stop() the interface"; @@ -801,6 +804,8 @@ quint64 QNetworkSessionPrivateImpl::transferredData(TUint dataType) const return 0; } + if (!iConnectionMonitor.Handle()) + return 0; TUint count; TRequestStatus status; iConnectionMonitor.GetConnectionCount(count, status); @@ -1415,6 +1420,8 @@ bool QNetworkSessionPrivateImpl::easyWlanTrueIapId(TUint32 &trueIapId) const // Loop through all connections that connection monitor is aware // and check for IAPs based on easy WLAN + if (!iConnectionMonitor.Handle()) + return false; TRequestStatus status; TUint connectionCount; iConnectionMonitor.GetConnectionCount(connectionCount, status); diff --git a/src/plugins/bearer/symbian/symbianengine.cpp b/src/plugins/bearer/symbian/symbianengine.cpp index 71687dd..04edbb7 100644 --- a/src/plugins/bearer/symbian/symbianengine.cpp +++ b/src/plugins/bearer/symbian/symbianengine.cpp @@ -104,11 +104,19 @@ void SymbianEngine::initialize() return; } - TRAP_IGNORE(iConnectionMonitor.ConnectL()); + TRAP(error, { + iConnectionMonitor.ConnectL(); + CleanupClosePushL(iConnectionMonitor); #ifdef SNAP_FUNCTIONALITY_AVAILABLE - TRAP_IGNORE(iConnectionMonitor.SetUintAttribute(EBearerIdAll, 0, KBearerGroupThreshold, 1)); + User::LeaveIfError(iConnectionMonitor.SetUintAttribute(EBearerIdAll, 0, KBearerGroupThreshold, 1)); #endif - TRAP_IGNORE(iConnectionMonitor.NotifyEventL(*this)); + iConnectionMonitor.NotifyEventL(*this); + CleanupStack::Pop(); + }); + if (error != KErrNone) { + iInitOk = false; + return; + } #ifdef SNAP_FUNCTIONALITY_AVAILABLE TRAP(error, iCmManager.OpenL()); |