diff --git a/Win32/Win32NetState.cpp b/Win32/Win32NetState.cpp index 794dc4b9..095afe45 100644 --- a/Win32/Win32NetState.cpp +++ b/Win32/Win32NetState.cpp @@ -73,16 +73,24 @@ void UnSubscribeFromEvents() } if (pNetEvent) + { pNetEvent->Release(); + } if (pCPContainer) + { pCPContainer->Release(); + } if (pNetworkListManager) + { pNetworkListManager->Release(); + } if (pUnknown) + { pUnknown->Release(); + } CoUninitialize(); } diff --git a/Win32/Win32NetState.h b/Win32/Win32NetState.h index 1414a324..5006daad 100644 --- a/Win32/Win32NetState.h +++ b/Win32/Win32NetState.h @@ -15,10 +15,11 @@ #include "Log.h" #include "Transports.h" -class CNetworkListManagerEvent : public INetworkListManagerEvents +class CNetworkListManagerEvent final : public INetworkListManagerEvents { public: CNetworkListManagerEvent() : m_ref(1) { } + ~CNetworkListManagerEvent() { } HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject) {