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