Index: src/chext/ShellExtControl.cpp =================================================================== diff -u -N -r6609ba39811176f4803f0556db3da30e9e457b9d -r86528d792f82b7ceb7b0fe34345bf66a9656d538 --- src/chext/ShellExtControl.cpp (.../ShellExtControl.cpp) (revision 6609ba39811176f4803f0556db3da30e9e457b9d) +++ src/chext/ShellExtControl.cpp (.../ShellExtControl.cpp) (revision 86528d792f82b7ceb7b0fe34345bf66a9656d538) @@ -23,10 +23,13 @@ #include "Logger.h" #include "../libchcore/TIpcMutexLock.h" +extern std::atomic g_DllRefCount; + CShellExtControl::CShellExtControl() : m_mutex(L"CHShellExtControlDataMutex"), m_spLog(GetLogger(L"ShellExtControl")) { + ++g_DllRefCount; LOG_DEBUG(m_spLog) << L"Constructing CShellExtControl"; } @@ -37,8 +40,10 @@ UnmapViewOfFile((LPVOID)m_pShellExtData); // Close the process's handle to the file-mapping object. - CloseHandle(m_hMemory); + CloseHandle(m_hMemory); } + + --g_DllRefCount; } STDMETHODIMP CShellExtControl::QueryInterface(REFIID riid, LPVOID FAR *ppvObject)