diff options
author | Ville Pernu <ville.pernu@nokia.com> | 2010-11-12 12:08:54 (GMT) |
---|---|---|
committer | Ville Pernu <ville.pernu@nokia.com> | 2010-11-12 13:48:29 (GMT) |
commit | 41cc62e076c9fc01d9cd2c66325a785d1643f6b6 (patch) | |
tree | 817037e68f0f3893e6342577e5e5aef00d98f114 | |
parent | 4034f4e99f4821947c8b4fd5e1470964ff9da740 (diff) | |
download | Qt-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.cpp | 6 |
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 |