summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVille Pernu <ville.pernu@nokia.com>2010-11-12 12:08:54 (GMT)
committerVille Pernu <ville.pernu@nokia.com>2010-11-12 13:48:29 (GMT)
commit41cc62e076c9fc01d9cd2c66325a785d1643f6b6 (patch)
tree817037e68f0f3893e6342577e5e5aef00d98f114
parent4034f4e99f4821947c8b4fd5e1470964ff9da740 (diff)
downloadQt-41cc62e076c9fc01d9cd2c66325a785d1643f6b6.zip
Qt-41cc62e076c9fc01d9cd2c66325a785d1643f6b6.tar.gz
Qt-41cc62e076c9fc01d9cd2c66325a785d1643f6b6.tar.bz2
Fix for KERN-EXEC 0 caused by QNetworkAccessManager::get
QT-4155 bug. Canceling Network Session before canceling connection notifier notifications causes a call to an invalid RConnection instance. Fix: CanceL Network session after canceling notifications.
-rw-r--r--src/plugins/bearer/symbian/qnetworksession_impl.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/plugins/bearer/symbian/qnetworksession_impl.cpp b/src/plugins/bearer/symbian/qnetworksession_impl.cpp
index c5a39e1..53a5b4d 100644
--- a/src/plugins/bearer/symbian/qnetworksession_impl.cpp
+++ b/src/plugins/bearer/symbian/qnetworksession_impl.cpp
@@ -1151,10 +1151,10 @@ void QNetworkSessionPrivateImpl::RunL()
serviceConfig = QNetworkConfiguration();
iError = QNetworkSession::InvalidConfigurationError;
QT_TRYCATCH_LEAVING(emit QNetworkSessionPrivate::error(iError));
- Cancel();
if (ipConnectionNotifier) {
ipConnectionNotifier->StopNotifications();
}
+ Cancel();
QT_TRYCATCH_LEAVING(syncStateWithInterface());
break;
case KErrCancel: // Connection attempt cancelled
@@ -1173,10 +1173,10 @@ void QNetworkSessionPrivateImpl::RunL()
iError = QNetworkSession::UnknownSessionError;
}
QT_TRYCATCH_LEAVING(emit QNetworkSessionPrivate::error(iError));
- Cancel();
if (ipConnectionNotifier) {
ipConnectionNotifier->StopNotifications();
}
+ Cancel();
QT_TRYCATCH_LEAVING(syncStateWithInterface());
break;
}
@@ -1268,10 +1268,10 @@ bool QNetworkSessionPrivateImpl::newState(QNetworkSession::State newState, TUint
serviceConfig = QNetworkConfiguration();
iError = QNetworkSession::SessionAbortedError;
emit QNetworkSessionPrivate::error(iError);
- Cancel();
if (ipConnectionNotifier) {
ipConnectionNotifier->StopNotifications();
}
+ Cancel();
// Start handling IAP state change signals from QNetworkConfigurationManagerPrivate
iHandleStateNotificationsFromManager = true;
emitSessionClosed = true; // Emit SessionClosed after state change has been reported