From: Jacek Caban Subject: winex11.drv: Added ThreadDetach entry point and use it instead of DllMain. Message-Id: Date: Mon, 29 Aug 2016 19:58:20 +0200 Signed-off-by: Jacek Caban --- dlls/winex11.drv/winex11.drv.spec | 1 + dlls/winex11.drv/x11drv_main.c | 8 +++----- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/dlls/winex11.drv/winex11.drv.spec b/dlls/winex11.drv/winex11.drv.spec index 7cdce52..ceb0f56 100644 --- a/dlls/winex11.drv/winex11.drv.spec +++ b/dlls/winex11.drv/winex11.drv.spec @@ -53,6 +53,7 @@ @ cdecl WindowPosChanging(long long long ptr ptr ptr ptr) X11DRV_WindowPosChanging @ cdecl WindowPosChanged(long long long ptr ptr ptr ptr ptr) X11DRV_WindowPosChanged @ cdecl SystemParametersInfo(long long ptr long) X11DRV_SystemParametersInfo +@ cdecl ThreadDetach() X11DRV_ThreadDetach # WinTab32 @ cdecl AttachEventQueueToTablet(long) X11DRV_AttachEventQueueToTablet diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c index d4f5c84..c2e0969 100644 --- a/dlls/winex11.drv/x11drv_main.c +++ b/dlls/winex11.drv/x11drv_main.c @@ -597,9 +597,9 @@ static BOOL process_attach(void) /*********************************************************************** - * X11DRV thread termination routine + * ThreadDetach (X11DRV.@) */ -static void thread_detach(void) +void CDECL X11DRV_ThreadDetach(void) { struct x11drv_thread_data *data = TlsGetValue( thread_data_tls_index ); @@ -690,12 +690,10 @@ BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved ) switch(reason) { case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls( hinst ); x11drv_module = hinst; ret = process_attach(); break; - case DLL_THREAD_DETACH: - thread_detach(); - break; } return ret; }