Francois Gouget : credui: Delete the static critical section when unloading the dll.

Alexandre Julliard julliard at winehq.org
Wed Nov 16 12:46:47 CST 2011


Module: wine
Branch: master
Commit: 8ce78a7b3e5af41ca434c00b119947278fce3378
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=8ce78a7b3e5af41ca434c00b119947278fce3378

Author: Francois Gouget <fgouget at codeweavers.com>
Date:   Wed Nov 16 16:30:18 2011 +0100

credui: Delete the static critical section when unloading the dll.

---

 dlls/credui/credui_main.c |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/dlls/credui/credui_main.c b/dlls/credui/credui_main.c
index dd55ac0..9d09b03 100644
--- a/dlls/credui/credui_main.c
+++ b/dlls/credui/credui_main.c
@@ -65,19 +65,21 @@ static CRITICAL_SECTION csPendingCredentials = { &critsect_debug, -1, 0, 0, 0, 0
 
 BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
 {
+    struct pending_credentials *entry, *cursor2;
     TRACE("(0x%p, %d, %p)\n",hinstDLL,fdwReason,lpvReserved);
 
-    if (fdwReason == DLL_WINE_PREATTACH) return FALSE;	/* prefer native version */
-
-    if (fdwReason == DLL_PROCESS_ATTACH)
+    switch (fdwReason)
     {
+    case DLL_WINE_PREATTACH:
+        return FALSE;	/* prefer native version */
+
+    case DLL_PROCESS_ATTACH:
         DisableThreadLibraryCalls(hinstDLL);
         hinstCredUI = hinstDLL;
         InitCommonControls();
-    }
-    else if (fdwReason == DLL_PROCESS_DETACH)
-    {
-        struct pending_credentials *entry, *cursor2;
+        break;
+
+    case DLL_PROCESS_DETACH:
         LIST_FOR_EACH_ENTRY_SAFE(entry, cursor2, &pending_credentials_list, struct pending_credentials, entry)
         {
             list_remove(&entry->entry);
@@ -88,6 +90,8 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
             HeapFree(GetProcessHeap(), 0, entry->pszPassword);
             HeapFree(GetProcessHeap(), 0, entry);
         }
+        DeleteCriticalSection(&csPendingCredentials);
+        break;
     }
 
     return TRUE;




More information about the wine-cvs mailing list