Index: src/chext/dllmain.cpp
===================================================================
diff -u -N -rebc7fabbd2d59f9a0f723ea480b5374cc393ec12 -r6609ba39811176f4803f0556db3da30e9e457b9d
--- src/chext/dllmain.cpp	(.../dllmain.cpp)	(revision ebc7fabbd2d59f9a0f723ea480b5374cc393ec12)
+++ src/chext/dllmain.cpp	(.../dllmain.cpp)	(revision 6609ba39811176f4803f0556db3da30e9e457b9d)
@@ -1,21 +1,18 @@
 #include "stdafx.h"
-#include "chext.h"
-#include "dllmain.h"
 #include "MenuExt.h"
 #include "DropMenuExt.h"
 #include "ShellExtControl.h"
 
-CCHExtModule _AtlModule;
+HINSTANCE g_hInstance = nullptr;
 
-OBJECT_ENTRY_AUTO(CLSID_MenuExt, CMenuExt)
-OBJECT_ENTRY_AUTO(CLSID_DropMenuExt, CDropMenuExt)
-OBJECT_ENTRY_AUTO(CLSID_CShellExtControl, CShellExtControl)
-
 extern "C"
-BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
+BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
 {
 	if(dwReason == DLL_PROCESS_ATTACH)
+	{
 		DisableThreadLibraryCalls(hInstance);
+		g_hInstance = hInstance;
+	}
 
-	return _AtlModule.DllMain(dwReason, lpReserved);
+	return TRUE;
 }