QNetworkAccessManager: check if networksession is set
authorMartin Petersson <Martin.Petersson@nokia.com>
Fri, 6 Jan 2012 08:51:53 +0000 (09:51 +0100)
committerQt by Nokia <qt-info@nokia.com>
Fri, 6 Jan 2012 10:19:23 +0000 (11:19 +0100)
Need to check that the networkSession has been set so we don't
crash when bearermanagement is enabled.

Task-number: QTBUG-23484
Change-Id: Ifdb71350ba5b4ddbdbd17a8d87189c78c524783e
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
src/network/access/qhttpnetworkconnection.cpp

index 4bbfa47..c9a4117 100644 (file)
@@ -1050,14 +1050,16 @@ void QHttpNetworkConnectionPrivate::startNetworkLayerStateLookup()
 
         int timeout = 300;
 #ifndef QT_NO_BEARERMANAGEMENT
-        if (networkSession->configuration().bearerType() == QNetworkConfiguration::Bearer2G)
-            timeout = 800;
-        else if (networkSession->configuration().bearerType() == QNetworkConfiguration::BearerCDMA2000)
-            timeout = 500;
-        else if (networkSession->configuration().bearerType() == QNetworkConfiguration::BearerWCDMA)
-            timeout = 500;
-        else if (networkSession->configuration().bearerType() == QNetworkConfiguration::BearerHSPA)
-            timeout = 400;
+        if (networkSession) {
+            if (networkSession->configuration().bearerType() == QNetworkConfiguration::Bearer2G)
+                timeout = 800;
+            else if (networkSession->configuration().bearerType() == QNetworkConfiguration::BearerCDMA2000)
+                timeout = 500;
+            else if (networkSession->configuration().bearerType() == QNetworkConfiguration::BearerWCDMA)
+                timeout = 500;
+            else if (networkSession->configuration().bearerType() == QNetworkConfiguration::BearerHSPA)
+                timeout = 400;
+        }
 #endif
         delayedConnectionTimer.start(timeout);
         if (delayIpv4)