dinput: Delete the static critical section when unloading the dll.
Francois Gouget
fgouget at codeweavers.com
Wed Nov 16 09:31:26 CST 2011
---
I moved DllMain() to the end of the file so it comes after the variable
declaration.
dlls/dinput/dinput_main.c | 29 +++++++++++++++--------------
1 files changed, 15 insertions(+), 14 deletions(-)
diff --git a/dlls/dinput/dinput_main.c b/dlls/dinput/dinput_main.c
index 373b990..c121ae9 100644
--- a/dlls/dinput/dinput_main.c
+++ b/dlls/dinput/dinput_main.c
@@ -97,20 +97,6 @@ static const struct dinput_device *dinput_devices[] =
static HINSTANCE DINPUT_instance = NULL;
-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:
- break;
- }
- return TRUE;
-}
-
static BOOL check_hook_thread(void);
static CRITICAL_SECTION dinput_hook_crit;
static struct list direct_input_list = LIST_INIT( direct_input_list );
@@ -1443,3 +1429,18 @@ void check_dinput_hooks(LPDIRECTINPUTDEVICE8W iface)
LeaveCriticalSection(&dinput_hook_crit);
}
+
+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:
+ DeleteCriticalSection(&dinput_hook_crit);
+ break;
+ }
+ return TRUE;
+}
--
1.7.7.1
More information about the wine-patches
mailing list