diff options
Diffstat (limited to 'src/network/bearer/qnetworkconfigmanager_p.cpp')
-rw-r--r-- | src/network/bearer/qnetworkconfigmanager_p.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/network/bearer/qnetworkconfigmanager_p.cpp b/src/network/bearer/qnetworkconfigmanager_p.cpp index 8ff6ee828d..71e435b771 100644 --- a/src/network/bearer/qnetworkconfigmanager_p.cpp +++ b/src/network/bearer/qnetworkconfigmanager_p.cpp @@ -41,6 +41,11 @@ #include <QtCore/qstringlist.h> #include <QtCore/qthread.h> #include <QtCore/private/qcoreapplication_p.h> +#include <QtCore/private/qthread_p.h> + +#include <QtCore/qbytearray.h> +#include <QtCore/qglobal.h> + #ifndef QT_NO_BEARERMANAGEMENT @@ -61,7 +66,7 @@ QNetworkConfigurationManagerPrivate::QNetworkConfigurationManagerPrivate() void QNetworkConfigurationManagerPrivate::initialize() { //Two stage construction, because we only want to do this heavyweight work for the winner of the Q_GLOBAL_STATIC race. - bearerThread = new QThread(); + bearerThread = new QDaemonThread(); bearerThread->setObjectName(QStringLiteral("Qt bearer thread")); bearerThread->moveToThread(QCoreApplicationPrivate::mainThread()); // because cleanup() is called in main thread context. @@ -374,6 +379,8 @@ void QNetworkConfigurationManagerPrivate::updateConfigurations() updating = false; #ifndef QT_NO_LIBRARY + bool envOK = false; + const int skipGeneric = qgetenv("QT_EXCLUDE_GENERIC_BEARER").toInt(&envOK); QBearerEngine *generic = 0; QFactoryLoader *l = loader(); const PluginKeyMap keyMap = l->keyMap(); @@ -408,8 +415,10 @@ void QNetworkConfigurationManagerPrivate::updateConfigurations() } } - if (generic) - sessionEngines.append(generic); + if (generic) { + if (!envOK || skipGeneric <= 0) + sessionEngines.append(generic); + } #endif // QT_NO_LIBRARY } |