diff --git a/dlls/avifil32/factory.c b/dlls/avifil32/factory.c index 1f03a8baa8d..da961653be4 100644 --- a/dlls/avifil32/factory.c +++ b/dlls/avifil32/factory.c @@ -204,15 +204,11 @@ BOOL WINAPI DllMain(HINSTANCE hInstDll, DWORD fdwReason, LPVOID lpvReserved) switch (fdwReason) { case DLL_PROCESS_ATTACH: - if (AVIFILE_hModule == NULL) - AVIFILE_hModule = (HMODULE)hInstDll; + DisableThreadLibraryCalls(hInstDll); + AVIFILE_hModule = (HMODULE)hInstDll; break; case DLL_PROCESS_DETACH: break; - case DLL_THREAD_ATTACH: - break; - case DLL_THREAD_DETACH: - break; }; return TRUE; diff --git a/dlls/comctl32/commctrl.c b/dlls/comctl32/commctrl.c index 43db9d5f83f..b2acdb74a98 100644 --- a/dlls/comctl32/commctrl.c +++ b/dlls/comctl32/commctrl.c @@ -145,6 +145,8 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) switch (fdwReason) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hinstDLL); + COMCTL32_hModule = (HMODULE)hinstDLL; /* create private heap */ diff --git a/dlls/crtdll/crtdll_main.c b/dlls/crtdll/crtdll_main.c index f4614595bca..f2506b6d1df 100644 --- a/dlls/crtdll/crtdll_main.c +++ b/dlls/crtdll/crtdll_main.c @@ -88,6 +88,9 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved) if (fdwReason == DLL_PROCESS_ATTACH) { DWORD version = GetVersion(); + + DisableThreadLibraryCalls(hinstDLL); + CRTDLL__basemajor_dll = (version >> 24) & 0xFF; CRTDLL__baseminor_dll = (version >> 16) & 0xFF; CRTDLL__baseversion_dll = (version >> 16); diff --git a/dlls/d3d8/d3d8_main.c b/dlls/d3d8/d3d8_main.c index 704cf063ffb..293acb4f26c 100644 --- a/dlls/d3d8/d3d8_main.c +++ b/dlls/d3d8/d3d8_main.c @@ -63,7 +63,11 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv) TRACE("fdwReason=%ld\n", fdwReason); if (fdwReason == DLL_PROCESS_ATTACH) { - HMODULE mod = GetModuleHandleA( "x11drv.dll" ); + HMODULE mod; + + DisableThreadLibraryCalls(hInstDLL); + + mod = GetModuleHandleA( "x11drv.dll" ); if (mod) { wine_tsx11_lock_ptr = (void *)GetProcAddress( mod, "wine_tsx11_lock" ); diff --git a/dlls/ddraw/main.c b/dlls/ddraw/main.c index a3b39cae6eb..74e272bf420 100644 --- a/dlls/ddraw/main.c +++ b/dlls/ddraw/main.c @@ -579,7 +579,11 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv) if (fdwReason == DLL_PROCESS_ATTACH) { - HMODULE mod = GetModuleHandleA( "x11drv.dll" ); + HMODULE mod; + + DisableThreadLibraryCalls(hInstDLL); + + mod = GetModuleHandleA( "x11drv.dll" ); if (mod) { wine_tsx11_lock_ptr = (void *)GetProcAddress( mod, "wine_tsx11_lock" ); diff --git a/dlls/dinput/dinput_main.c b/dlls/dinput/dinput_main.c index 20b62f23009..a8ba4e4aa28 100644 --- a/dlls/dinput/dinput_main.c +++ b/dlls/dinput/dinput_main.c @@ -60,6 +60,7 @@ BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserv) switch(reason) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(inst); DINPUT_instance = inst; break; case DLL_PROCESS_DETACH: diff --git a/dlls/dmusic/dmusic_main.c b/dlls/dmusic/dmusic_main.c index cf126136e7b..345b06278ba 100644 --- a/dlls/dmusic/dmusic_main.c +++ b/dlls/dmusic/dmusic_main.c @@ -107,6 +107,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { if (fdwReason == DLL_PROCESS_ATTACH) { + DisableThreadLibraryCalls(hinstDLL); /* FIXME: Initialisation */ } else if (fdwReason == DLL_PROCESS_DETACH) diff --git a/dlls/dplayx/dplayx_main.c b/dlls/dplayx/dplayx_main.c index d2227fe91cf..650fdc87318 100644 --- a/dlls/dplayx/dplayx_main.c +++ b/dlls/dplayx/dplayx_main.c @@ -38,6 +38,7 @@ BOOL WINAPI DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved ) switch ( fdwReason ) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hinstDLL); /* First instance perform construction of global processor data */ return DPLAYX_ConstructData(); @@ -45,9 +46,6 @@ BOOL WINAPI DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved ) /* Last instance performs destruction of global processor data */ return DPLAYX_DestructData(); - case DLL_THREAD_ATTACH: /* Do nothing */ - case DLL_THREAD_DETACH: /* Do nothing */ - break; default: break; diff --git a/dlls/dpnhpast/main.c b/dlls/dpnhpast/main.c index c77a4ca6013..6aa05b11853 100644 --- a/dlls/dpnhpast/main.c +++ b/dlls/dpnhpast/main.c @@ -35,6 +35,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) if (fdwReason == DLL_PROCESS_ATTACH) { + DisableThreadLibraryCalls(hinstDLL); /* FIXME: Initialisation */ } else if (fdwReason == DLL_PROCESS_DETACH) diff --git a/dlls/gdi/gdi_main.c b/dlls/gdi/gdi_main.c index 14b637ba482..99c49c42094 100644 --- a/dlls/gdi/gdi_main.c +++ b/dlls/gdi/gdi_main.c @@ -32,6 +32,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD reason, LPVOID lpvReserved) { if (reason != DLL_PROCESS_ATTACH) return TRUE; + DisableThreadLibraryCalls(hinstDLL); return GDI_Init(); } diff --git a/dlls/imagehlp/imagehlp_main.c b/dlls/imagehlp/imagehlp_main.c index 7645f437371..fa6b882133a 100644 --- a/dlls/imagehlp/imagehlp_main.c +++ b/dlls/imagehlp/imagehlp_main.c @@ -40,16 +40,13 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) switch(fdwReason) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hinstDLL); IMAGEHLP_hHeap = HeapCreate(0, 0x10000, 0); break; case DLL_PROCESS_DETACH: HeapDestroy(IMAGEHLP_hHeap); IMAGEHLP_hHeap = NULL; break; - case DLL_THREAD_ATTACH: - break; - case DLL_THREAD_DETACH: - break; default: break; } diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c index dee68935b6f..d1b70a55469 100644 --- a/dlls/imm32/imm.c +++ b/dlls/imm32/imm.c @@ -86,6 +86,7 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpReserved) switch (fdwReason) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hInstDLL); hImeInst = hInstDLL; break; case DLL_PROCESS_DETACH: diff --git a/dlls/msacm/msacm32_main.c b/dlls/msacm/msacm32_main.c index 82317dc740f..71a94f37282 100644 --- a/dlls/msacm/msacm32_main.c +++ b/dlls/msacm/msacm32_main.c @@ -44,6 +44,7 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpvReserved) switch (fdwReason) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hInstDLL); MSACM_hHeap = HeapCreate(0, 0x10000, 0); MSACM_hInstance32 = hInstDLL; MSACM_RegisterAllDrivers(); @@ -54,10 +55,6 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpvReserved) MSACM_hHeap = NULL; MSACM_hInstance32 = NULL; break; - case DLL_THREAD_ATTACH: - break; - case DLL_THREAD_DETACH: - break; default: break; } diff --git a/dlls/msisys/Makefile.in b/dlls/msisys/Makefile.in index 2433508ccf0..bafddc11fff 100644 --- a/dlls/msisys/Makefile.in +++ b/dlls/msisys/Makefile.in @@ -3,6 +3,7 @@ TOPOBJDIR = ../.. SRCDIR = @srcdir@ VPATH = @srcdir@ MODULE = msisys.ocx +IMPORTS = kernel32 EXTRALIBS = $(LIBUUID) LDDLLFLAGS = @LDDLLFLAGS@ diff --git a/dlls/msisys/msisys.c b/dlls/msisys/msisys.c index e88dc65f6aa..85e27559092 100644 --- a/dlls/msisys/msisys.c +++ b/dlls/msisys/msisys.c @@ -62,16 +62,13 @@ BOOL WINAPI DllMain( switch ( fdwReason ) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hInstDLL); if ( !MSISYS_InitProcess() ) return FALSE; break; case DLL_PROCESS_DETACH: MSISYS_UninitProcess(); break; - case DLL_THREAD_ATTACH: - break; - case DLL_THREAD_DETACH: - break; } return TRUE; diff --git a/dlls/msvideo/msrle32/msrle32.c b/dlls/msvideo/msrle32/msrle32.c index 6d12127577d..f7a6b8ee192 100644 --- a/dlls/msvideo/msrle32/msrle32.c +++ b/dlls/msvideo/msrle32/msrle32.c @@ -1902,13 +1902,10 @@ BOOL WINAPI DllMain(HINSTANCE hModule, DWORD dwReason, LPVOID lpReserved) switch (dwReason) { case DLL_PROCESS_ATTACH: - if (MSRLE32_hModule == 0) - MSRLE32_hModule = hModule; - break; - case DLL_THREAD_ATTACH: - break; - case DLL_THREAD_DETACH: + DisableThreadLibraryCalls(hModule); + MSRLE32_hModule = hModule; break; + case DLL_PROCESS_DETACH: break; }; diff --git a/dlls/netapi32/netapi32.c b/dlls/netapi32/netapi32.c index 8d1f19213e3..06b0ec2bd1c 100644 --- a/dlls/netapi32/netapi32.c +++ b/dlls/netapi32/netapi32.c @@ -110,6 +110,7 @@ BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) switch (fdwReason) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hinstDLL); NETAPI32_hModule = hinstDLL; break; case DLL_PROCESS_DETACH: diff --git a/dlls/odbc32/Makefile.in b/dlls/odbc32/Makefile.in index 62a9184c058..6864e39f176 100644 --- a/dlls/odbc32/Makefile.in +++ b/dlls/odbc32/Makefile.in @@ -3,6 +3,7 @@ TOPOBJDIR = ../.. SRCDIR = @srcdir@ VPATH = @srcdir@ MODULE = odbc32.dll +IMPORTS = kernel32 LDDLLFLAGS = @LDDLLFLAGS@ SYMBOLFILE = $(MODULE).tmp.o diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c index a762ca49f11..f1d0cb22115 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c @@ -176,6 +176,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) if (fdwReason == DLL_PROCESS_ATTACH) { TRACE("Loading ODBC...\n"); + DisableThreadLibraryCalls(hinstDLL); if (ODBC_LoadDriverManager()) ODBC_LoadDMFunctions(); } diff --git a/dlls/ole32/ole32_main.c b/dlls/ole32/ole32_main.c index 1e2a985cf2c..f5f79058483 100644 --- a/dlls/ole32/ole32_main.c +++ b/dlls/ole32/ole32_main.c @@ -97,6 +97,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad) switch(fdwReason) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hinstDLL); OLE32_hInstance = hinstDLL; COMPOBJ_InitProcess(); if (TRACE_ON(ole)) CoRegisterMallocSpy((LPVOID)-1); diff --git a/dlls/opengl32/wgl.c b/dlls/opengl32/wgl.c index 03e85c01b32..3faef4f73c4 100644 --- a/dlls/opengl32/wgl.c +++ b/dlls/opengl32/wgl.c @@ -683,6 +683,7 @@ BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved ) switch(reason) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hinst); return process_attach(); case DLL_PROCESS_DETACH: process_detach(); diff --git a/dlls/quartz/main.c b/dlls/quartz/main.c index b1151e92b57..68e63b7ec3f 100644 --- a/dlls/quartz/main.c +++ b/dlls/quartz/main.c @@ -34,6 +34,7 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv) { switch(fdwReason) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hInstDLL); break; case DLL_PROCESS_DETACH: break; diff --git a/dlls/richedit/richedit.c b/dlls/richedit/richedit.c index 38bdaa1f6a6..e3525d14a60 100644 --- a/dlls/richedit/richedit.c +++ b/dlls/richedit/richedit.c @@ -71,6 +71,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) switch (fdwReason) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hinstDLL); /* create private heap */ RICHED32_hHeap = HeapCreate (0, 0x10000, 0); /* register the Rich Edit class */ diff --git a/dlls/rpcrt4/rpcrt4_main.c b/dlls/rpcrt4/rpcrt4_main.c index c743224e2cf..b10e1fdc8c3 100644 --- a/dlls/rpcrt4/rpcrt4_main.c +++ b/dlls/rpcrt4/rpcrt4_main.c @@ -167,6 +167,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { switch (fdwReason) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hinstDLL); master_mutex = CreateMutexA( NULL, FALSE, RPCSS_MASTER_MUTEX_NAME); if (!master_mutex) ERR("Failed to create master mutex\n"); diff --git a/dlls/serialui/confdlg.c b/dlls/serialui/confdlg.c index b097bf168fb..a4e241eb5d9 100644 --- a/dlls/serialui/confdlg.c +++ b/dlls/serialui/confdlg.c @@ -65,6 +65,7 @@ BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) switch (fdwReason) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hinstDLL); SERIALUI_hModule = hinstDLL; break; case DLL_PROCESS_DETACH: diff --git a/dlls/shlwapi/shlwapi_main.c b/dlls/shlwapi/shlwapi_main.c index 9041fb1a624..8dea8296510 100644 --- a/dlls/shlwapi/shlwapi_main.c +++ b/dlls/shlwapi/shlwapi_main.c @@ -65,6 +65,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad) switch (fdwReason) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hinstDLL); shlwapi_hInstance = hinstDLL; SHLWAPI_ThreadRef_index = TlsAlloc(); break; diff --git a/dlls/snmpapi/Makefile.in b/dlls/snmpapi/Makefile.in index 4c6dee25c7d..afc70547344 100644 --- a/dlls/snmpapi/Makefile.in +++ b/dlls/snmpapi/Makefile.in @@ -3,6 +3,7 @@ TOPOBJDIR = ../.. SRCDIR = @srcdir@ VPATH = @srcdir@ MODULE = snmpapi.dll +IMPORTS = kernel32 LDDLLFLAGS = @LDDLLFLAGS@ SYMBOLFILE = $(MODULE).tmp.o diff --git a/dlls/snmpapi/main.c b/dlls/snmpapi/main.c index cc8c1fe15db..bf20c2d081c 100644 --- a/dlls/snmpapi/main.c +++ b/dlls/snmpapi/main.c @@ -20,8 +20,7 @@ #include "config.h" -#include "windef.h" - +#include "winbase.h" #include "wine/debug.h" WINE_DEFAULT_DEBUG_CHANNEL(snmpapi); @@ -38,13 +37,10 @@ BOOL WINAPI DllMain( switch(fdwReason) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hInstDLL); break; case DLL_PROCESS_DETACH: break; - case DLL_THREAD_ATTACH: - break; - case DLL_THREAD_DETACH: - break; } return TRUE; diff --git a/dlls/ttydrv/ttydrv_main.c b/dlls/ttydrv/ttydrv_main.c index b46b64d750c..6800ba19e6d 100644 --- a/dlls/ttydrv/ttydrv_main.c +++ b/dlls/ttydrv/ttydrv_main.c @@ -76,6 +76,7 @@ BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved ) switch(reason) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hinst); process_attach(); break; diff --git a/dlls/twain/twain32_main.c b/dlls/twain/twain32_main.c index 4771a82964a..56a5a329d62 100644 --- a/dlls/twain/twain32_main.c +++ b/dlls/twain/twain32_main.c @@ -33,15 +33,10 @@ BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) switch (fdwReason) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hinstDLL); DSM_currentState = 2; break; - case DLL_THREAD_ATTACH: - break; - - case DLL_THREAD_DETACH: - break; - case DLL_PROCESS_DETACH: DSM_currentState = 1; break; diff --git a/dlls/urlmon/urlmon_main.c b/dlls/urlmon/urlmon_main.c index 2689bfbde47..8f883616053 100644 --- a/dlls/urlmon/urlmon_main.c +++ b/dlls/urlmon/urlmon_main.c @@ -18,7 +18,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include "windef.h" +#include "winbase.h" #include "winerror.h" #include "wtypes.h" @@ -39,6 +39,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad) switch(fdwReason) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hinstDLL); URLMON_hInstance = hinstDLL; break; diff --git a/dlls/winaspi/winaspi32.c b/dlls/winaspi/winaspi32.c index 9d311bb58a4..bc9095e2107 100644 --- a/dlls/winaspi/winaspi32.c +++ b/dlls/winaspi/winaspi32.c @@ -62,14 +62,12 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID fImpLoad) switch( fdwReason ) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hInstDLL); SCSI_Init(); break; case DLL_PROCESS_DETACH: DeleteCriticalSection( &ASPI_CritSection ); break; - case DLL_THREAD_ATTACH: - case DLL_THREAD_DETACH: - break; } #endif /* defined(linux) */ return TRUE; diff --git a/dlls/winedos/dosvm.c b/dlls/winedos/dosvm.c index cfd8921d45a..3295b19c2a1 100644 --- a/dlls/winedos/dosvm.c +++ b/dlls/winedos/dosvm.c @@ -688,6 +688,7 @@ BOOL WINAPI DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved ) if (fdwReason == DLL_PROCESS_ATTACH) { + DisableThreadLibraryCalls(hinstDLL); DOSVM_InitSegments(); event_notifier = CreateEventA(NULL, FALSE, FALSE, NULL); diff --git a/dlls/wineps/init.c b/dlls/wineps/init.c index a3176232098..ac6d7470024 100644 --- a/dlls/wineps/init.c +++ b/dlls/wineps/init.c @@ -121,6 +121,7 @@ BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved ) switch(reason) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hinst); PSDRV_Heap = HeapCreate(0, 0x10000, 0); if (PSDRV_Heap == NULL) diff --git a/dlls/winmm/mciavi/mciavi.c b/dlls/winmm/mciavi/mciavi.c index e2684d8c258..f96cac90c18 100644 --- a/dlls/winmm/mciavi/mciavi.c +++ b/dlls/winmm/mciavi/mciavi.c @@ -122,6 +122,7 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID fImpLoad) { switch (fdwReason) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hInstDLL); MCIAVI_hInstance = hInstDLL; break; } diff --git a/dlls/winmm/winmm.c b/dlls/winmm/winmm.c index 5f5cdd45ef0..b77016448db 100644 --- a/dlls/winmm/winmm.c +++ b/dlls/winmm/winmm.c @@ -125,6 +125,8 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID fImpLoad) switch (fdwReason) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hInstDLL); + if (!WINMM_CreateIData(hInstDLL)) return FALSE; if (!MCI_Init() || !MMDRV_Init()) { @@ -141,9 +143,6 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID fImpLoad) WINMM_DeleteIData(); break; - case DLL_THREAD_ATTACH: - case DLL_THREAD_DETACH: - break; } return TRUE; } diff --git a/dlls/winsock/socket.c b/dlls/winsock/socket.c index 38dfd872827..8e877752659 100644 --- a/dlls/winsock/socket.c +++ b/dlls/winsock/socket.c @@ -444,6 +444,7 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID fImpLoad) TRACE("%p 0x%lx %p\n", hInstDLL, fdwReason, fImpLoad); switch (fdwReason) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hInstDLL); opentype_tls_index = TlsAlloc(); break; case DLL_PROCESS_DETACH: diff --git a/dlls/winspool/wspool.c b/dlls/winspool/wspool.c index d49cdb64c6c..1db2854a844 100644 --- a/dlls/winspool/wspool.c +++ b/dlls/winspool/wspool.c @@ -41,6 +41,8 @@ BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD reason, LPVOID lpReserved) { case DLL_PROCESS_ATTACH: { extern void WINSPOOL_LoadSystemPrinters(); + + DisableThreadLibraryCalls(hInstance); WINSPOOL_LoadSystemPrinters(); break; }