Index: src/chext/ShellExtControl.cpp
===================================================================
diff -u -N -r6609ba39811176f4803f0556db3da30e9e457b9d -r3732b8ed8b65619c1000598c843c2c627186427c
--- src/chext/ShellExtControl.cpp	(.../ShellExtControl.cpp)	(revision 6609ba39811176f4803f0556db3da30e9e457b9d)
+++ src/chext/ShellExtControl.cpp	(.../ShellExtControl.cpp)	(revision 3732b8ed8b65619c1000598c843c2c627186427c)
@@ -23,10 +23,13 @@
 #include "Logger.h"
 #include "../libchcore/TIpcMutexLock.h"
 
+extern std::atomic<long> 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)