summaryrefslogtreecommitdiffstats
path: root/src/network/bearer/qnetworkconfigmanager_p.cpp
diff options
context:
space:
mode:
authorDavid Boddie <david.boddie@nokia.com>2011-05-13 15:55:50 (GMT)
committerDavid Boddie <david.boddie@nokia.com>2011-05-13 15:55:50 (GMT)
commit4adf280fb6bda8e519bf23606b841e040cb04fab (patch)
tree88eda2f4f5cf46c9e68fa4aea7ca832aaa6c65db /src/network/bearer/qnetworkconfigmanager_p.cpp
parentd9ef2f580bd78e658064e4fa3d0acf73b9c2a921 (diff)
parentf32438ffccd8728143b93399e7cd251e72d23b55 (diff)
downloadQt-4adf280fb6bda8e519bf23606b841e040cb04fab.zip
Qt-4adf280fb6bda8e519bf23606b841e040cb04fab.tar.gz
Qt-4adf280fb6bda8e519bf23606b841e040cb04fab.tar.bz2
Merge branch '4.8'
Conflicts: doc/src/declarative/whatsnew.qdoc doc/src/examples/orientation.qdoc doc/src/examples/webftpclient.qdoc examples/declarative/ui-components/main/qml/pics/niagara_falls.jpg src/corelib/global/qglobal.cpp src/gui/text/qglyphs.cpp src/gui/text/qplatformfontdatabase_qpa.cpp
Diffstat (limited to 'src/network/bearer/qnetworkconfigmanager_p.cpp')
-rw-r--r--src/network/bearer/qnetworkconfigmanager_p.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/network/bearer/qnetworkconfigmanager_p.cpp b/src/network/bearer/qnetworkconfigmanager_p.cpp
index c108ad3..e9b6703 100644
--- a/src/network/bearer/qnetworkconfigmanager_p.cpp
+++ b/src/network/bearer/qnetworkconfigmanager_p.cpp
@@ -60,7 +60,7 @@ Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader,
#endif
QNetworkConfigurationManagerPrivate::QNetworkConfigurationManagerPrivate()
- : QObject(), mutex(QMutex::Recursive), forcedPolling(0), firstUpdate(true)
+ : QObject(), pollTimer(0), mutex(QMutex::Recursive), forcedPolling(0), firstUpdate(true)
{
qRegisterMetaType<QNetworkConfiguration>("QNetworkConfiguration");
qRegisterMetaType<QNetworkConfigurationPrivatePointer>("QNetworkConfigurationPrivatePointer");
@@ -442,9 +442,19 @@ void QNetworkConfigurationManagerPrivate::startPolling()
{
QMutexLocker locker(&mutex);
+ if(!pollTimer) {
+ pollTimer = new QTimer(this);
+ pollTimer->setInterval(10000);
+ pollTimer->setSingleShot(true);
+ connect(pollTimer, SIGNAL(timeout()), this, SLOT(pollEngines()));
+ }
+
+ if(pollTimer->isActive())
+ return;
+
foreach (QBearerEngine *engine, sessionEngines) {
if (engine->requiresPolling() && (forcedPolling || engine->configurationsInUse())) {
- QTimer::singleShot(10000, this, SLOT(pollEngines()));
+ pollTimer->start();
break;
}
}