diff --git a/src/network/kernel/qnetconmonitor_win.cpp b/src/network/kernel/qnetconmonitor_win.cpp index f9d660d7389..a010df8e3ac 100644 --- a/src/network/kernel/qnetconmonitor_win.cpp +++ b/src/network/kernel/qnetconmonitor_win.cpp @@ -139,7 +139,7 @@ private: QNetworkConnectionMonitorPrivate *monitor = nullptr; - QAtomicInteger ref = 1; // start at 1 for our own initial reference + QAtomicInteger ref = 0; DWORD cookie = 0; }; @@ -346,6 +346,8 @@ QNetworkConnectionMonitorPrivate::~QNetworkConnectionMonitorPrivate() { if (comInitFailed) return; + if (monitoring) + stopMonitoring(); connectionEvents.Reset(); CoUninitialize(); } @@ -496,7 +498,7 @@ private: QNetworkStatusMonitorPrivate *monitor = nullptr; - QAtomicInteger ref = 1; // start at 1 for our own initial reference + QAtomicInteger ref = 0; DWORD cookie = 0; };