From b1fe3e3d80cb23dee4de683e03711d1ac0614de2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= Date: Mon, 12 Apr 2021 16:38:19 +0200 Subject: QNetworkInformation: Private the destructor It wasn't meant to be public. Pick-to: 6.1 6.1.0 Change-Id: Ifa7fff48f82b96bdfa277677d3988dc8881b8c2a Reviewed-by: Volker Hilsheimer --- src/network/kernel/qnetworkinformation.cpp | 7 ++++++- src/network/kernel/qnetworkinformation.h | 5 +++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/network/kernel/qnetworkinformation.cpp b/src/network/kernel/qnetworkinformation.cpp index 0c41a3a42e..d09ed949cc 100644 --- a/src/network/kernel/qnetworkinformation.cpp +++ b/src/network/kernel/qnetworkinformation.cpp @@ -56,6 +56,11 @@ QT_BEGIN_NAMESPACE Q_DECLARE_LOGGING_CATEGORY(lcNetInfo) Q_LOGGING_CATEGORY(lcNetInfo, "qt.network.info"); +struct QNetworkInformationDeleter +{ + void operator()(QNetworkInformation *information) { delete information; } +}; + Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader, (QNetworkInformationBackendFactory_iid, QStringLiteral("/networkinformationbackends"))) @@ -63,7 +68,7 @@ Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader, struct QStaticNetworkInformationDataHolder { QMutex instanceMutex; - std::unique_ptr instanceHolder; + std::unique_ptr instanceHolder; QList factories; }; Q_GLOBAL_STATIC(QStaticNetworkInformationDataHolder, dataHolder); diff --git a/src/network/kernel/qnetworkinformation.h b/src/network/kernel/qnetworkinformation.h index 658e152491..6d804fa4ee 100644 --- a/src/network/kernel/qnetworkinformation.h +++ b/src/network/kernel/qnetworkinformation.h @@ -49,6 +49,7 @@ QT_BEGIN_NAMESPACE class QNetworkInformationBackend; class QNetworkInformationPrivate; +struct QNetworkInformationDeleter; class Q_NETWORK_EXPORT QNetworkInformation : public QObject { Q_OBJECT @@ -70,8 +71,6 @@ public: Q_DECLARE_FLAGS(Features, Feature) Q_FLAG(Features) - ~QNetworkInformation() override; - Reachability reachability() const; QString backendName() const; @@ -87,8 +86,10 @@ Q_SIGNALS: void reachabilityChanged(Reachability newReachability); private: + friend struct QNetworkInformationDeleter; friend class QNetworkInformationPrivate; QNetworkInformation(QNetworkInformationBackend *backend); + ~QNetworkInformation() override; Q_DISABLE_COPY_MOVE(QNetworkInformation) }; -- cgit v1.2.3