diff --git a/src/network/access/qnetworkaccessbackend.cpp b/src/network/access/qnetworkaccessbackend.cpp index b544e8436b..00032a3084 100644 --- a/src/network/access/qnetworkaccessbackend.cpp +++ b/src/network/access/qnetworkaccessbackend.cpp @@ -849,6 +849,10 @@ QNetworkAccessBackendFactory::QNetworkAccessBackendFactory() /*! Destructs QNetworkAccessBackendFactory */ -QNetworkAccessBackendFactory::~QNetworkAccessBackendFactory() = default; +QNetworkAccessBackendFactory::~QNetworkAccessBackendFactory() +{ + if (factoryData.exists()) + factoryData->removeAll(this); +}; QT_END_NAMESPACE diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp index 1af2547f3e..230aa40af6 100644 --- a/src/network/access/qnetworkaccessmanager.cpp +++ b/src/network/access/qnetworkaccessmanager.cpp @@ -80,6 +80,7 @@ #include +#include "QtCore/qapplicationstatic.h" #include #if defined(Q_OS_MACOS) @@ -99,13 +100,13 @@ QT_BEGIN_NAMESPACE -Q_GLOBAL_STATIC(QNetworkAccessFileBackendFactory, fileBackend) +Q_APPLICATION_STATIC(QNetworkAccessFileBackendFactory, fileBackend) #ifdef QT_BUILD_INTERNAL Q_GLOBAL_STATIC(QNetworkAccessDebugPipeBackendFactory, debugpipeBackend) #endif -Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader, +Q_APPLICATION_STATIC_WITH_ARGS(QFactoryLoader, loader, (QNetworkAccessBackendFactory_iid, QLatin1String("/networkaccess"))) #if defined(Q_OS_MACOS)