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; }