summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/bearer/symbian/qnetworksession_impl.cpp9
-rw-r--r--src/plugins/bearer/symbian/symbianengine.cpp14
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 791ebf2..5639c4f 100644
--- a/src/plugins/bearer/symbian/qnetworksession_impl.cpp
+++ b/src/plugins/bearer/symbian/qnetworksession_impl.cpp
@@ -476,6 +476,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) {
@@ -573,7 +575,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";
@@ -855,6 +858,8 @@ quint64 QNetworkSessionPrivateImpl::transferredData(TUint dataType) const
return 0;
}
+ if (!iConnectionMonitor.Handle())
+ return 0;
TUint count;
TRequestStatus status;
iConnectionMonitor.GetConnectionCount(count, status);
@@ -1497,6 +1502,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());