From 785905a1f4b46f7278653e2e50604f23d359a848 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Fri, 13 May 2011 16:19:18 +0100 Subject: Fix thread safety regression of QNetworkConfigurationManager Changes in 4.8 led to a timer being created in the wrong thread. I have restored the invokeMethod used to call startPolling() to solve this problem. Reviewed-By: mread (cherry picked from commit e9e95f75e7c1e8325c2acce0087ff8677d773779) Change-Id: I8b89fa89766679beb2d469f9bbd1f5e2233f061b Reviewed-on: http://codereview.qt.nokia.com/138 Reviewed-by: Markus Goetz --- src/network/bearer/qnetworkconfigmanager_p.cpp | 2 +- src/network/bearer/qnetworkconfigmanager_p.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src/network') diff --git a/src/network/bearer/qnetworkconfigmanager_p.cpp b/src/network/bearer/qnetworkconfigmanager_p.cpp index 338cf59c02..54cd898c67 100644 --- a/src/network/bearer/qnetworkconfigmanager_p.cpp +++ b/src/network/bearer/qnetworkconfigmanager_p.cpp @@ -488,7 +488,7 @@ void QNetworkConfigurationManagerPrivate::enablePolling() ++forcedPolling; if (forcedPolling == 1) - startPolling(); + QMetaObject::invokeMethod(this, "startPolling"); } void QNetworkConfigurationManagerPrivate::disablePolling() diff --git a/src/network/bearer/qnetworkconfigmanager_p.h b/src/network/bearer/qnetworkconfigmanager_p.h index 02e00b9a95..04cce202c5 100644 --- a/src/network/bearer/qnetworkconfigmanager_p.h +++ b/src/network/bearer/qnetworkconfigmanager_p.h @@ -107,7 +107,7 @@ private Q_SLOTS: void pollEngines(); private: - void startPolling(); + Q_INVOKABLE void startPolling(); QTimer *pollTimer; private: -- cgit v1.2.3