Make sure QGlobalNetworkProxy is created for QNetworkProxy.
authorXizhi Zhu <xizhi.zhu@nokia.com>
Thu, 15 Mar 2012 09:26:39 +0000 (10:26 +0100)
committerQt by Nokia <qt-info@nokia.com>
Thu, 15 Mar 2012 10:40:50 +0000 (11:40 +0100)
Otherwise, you don't have any socket engine handler created when
directly setting a proxy to a socket.

Change-Id: I35cd7f52331672a6d3e7bcdf817c0fe1fd1e7de3
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
src/network/kernel/qnetworkproxy.cpp

index feef74e..8d30e81 100644 (file)
@@ -426,6 +426,10 @@ template<> void QSharedDataPointer<QNetworkProxyPrivate>::detach()
 QNetworkProxy::QNetworkProxy()
     : d(0)
 {
+    // make sure we have QGlobalNetworkProxy singleton created, otherwise
+    // you don't have any socket engine handler created when directly setting
+    // a proxy to a socket
+    globalNetworkProxy();
 }
 
 /*!
@@ -440,6 +444,10 @@ QNetworkProxy::QNetworkProxy(ProxyType type, const QString &hostName, quint16 po
                   const QString &user, const QString &password)
     : d(new QNetworkProxyPrivate(type, hostName, port, user, password))
 {
+    // make sure we have QGlobalNetworkProxy singleton created, otherwise
+    // you don't have any socket engine handler created when directly setting
+    // a proxy to a socket
+    globalNetworkProxy();
 }
 
 /*!