summaryrefslogtreecommitdiffstats
path: root/src/network/bearer/qnetworkconfigmanager_p.cpp
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2011-05-05 14:44:02 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2011-05-05 14:44:02 (GMT)
commitbae78d4a2cc32952a19e4da9f0486af635ea6d47 (patch)
treed56b9b4bc802bae55bde7227677ed1b7045bdcd8 /src/network/bearer/qnetworkconfigmanager_p.cpp
parentc2dce7ae678d1206f114dc18f114ddc1b32f3c68 (diff)
parentb5e0130ff16e908a0e77904f34fa9af93b837dcb (diff)
downloadQt-bae78d4a2cc32952a19e4da9f0486af635ea6d47.zip
Qt-bae78d4a2cc32952a19e4da9f0486af635ea6d47.tar.gz
Qt-bae78d4a2cc32952a19e4da9f0486af635ea6d47.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: Skip test on MacOS due to problems with corewlan plugin Send User-Agent from the network request in http proxy CONNECT command Fix initial main window dimensions for "fullscreen with softkeys" case Fix compile errors in bearer tests Fix QNetworkConfigurationManager usage outside main thread first
Diffstat (limited to 'src/network/bearer/qnetworkconfigmanager_p.cpp')
-rw-r--r--src/network/bearer/qnetworkconfigmanager_p.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/network/bearer/qnetworkconfigmanager_p.cpp b/src/network/bearer/qnetworkconfigmanager_p.cpp
index c321328..f703354 100644
--- a/src/network/bearer/qnetworkconfigmanager_p.cpp
+++ b/src/network/bearer/qnetworkconfigmanager_p.cpp
@@ -392,8 +392,6 @@ void QNetworkConfigurationManagerPrivate::updateConfigurations()
this, SLOT(configurationRemoved(QNetworkConfigurationPrivatePointer)));
connect(engine, SIGNAL(configurationChanged(QNetworkConfigurationPrivatePointer)),
this, SLOT(configurationChanged(QNetworkConfigurationPrivatePointer)));
-
- QMetaObject::invokeMethod(engine, "initialize");
}
}
@@ -423,8 +421,19 @@ void QNetworkConfigurationManagerPrivate::updateConfigurations()
startPolling();
}
- if (firstUpdate)
+ if (firstUpdate) {
firstUpdate = false;
+ QList<QBearerEngine*> enginesToInitialize = sessionEngines; //shallow copy the list in case it is modified when we unlock mutex
+ Qt::ConnectionType connectionType;
+ if (QCoreApplicationPrivate::mainThread() == QThread::currentThread())
+ connectionType = Qt::DirectConnection;
+ else
+ connectionType = Qt::BlockingQueuedConnection;
+ locker.unlock();
+ foreach (QBearerEngine* engine, enginesToInitialize) {
+ QMetaObject::invokeMethod(engine, "initialize", connectionType);
+ }
+ }
}
void QNetworkConfigurationManagerPrivate::performAsyncConfigurationUpdate()