Commit 6e9728be authored by Alexandre Julliard's avatar Alexandre Julliard

winepulse.drv: Don't free memory at process exit.

parent 505455de
...@@ -72,10 +72,12 @@ static WCHAR drv_key_devicesW[256]; ...@@ -72,10 +72,12 @@ static WCHAR drv_key_devicesW[256];
BOOL WINAPI DllMain(HINSTANCE dll, DWORD reason, void *reserved) BOOL WINAPI DllMain(HINSTANCE dll, DWORD reason, void *reserved)
{ {
if (reason == DLL_PROCESS_ATTACH) { WCHAR buf[MAX_PATH];
WCHAR buf[MAX_PATH]; WCHAR *filename;
WCHAR *filename;
switch (reason)
{
case DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls(dll); DisableThreadLibraryCalls(dll);
if (__wine_init_unix_call()) if (__wine_init_unix_call())
return FALSE; return FALSE;
...@@ -87,11 +89,16 @@ BOOL WINAPI DllMain(HINSTANCE dll, DWORD reason, void *reserved) ...@@ -87,11 +89,16 @@ BOOL WINAPI DllMain(HINSTANCE dll, DWORD reason, void *reserved)
swprintf(drv_key_devicesW, ARRAY_SIZE(drv_key_devicesW), swprintf(drv_key_devicesW, ARRAY_SIZE(drv_key_devicesW),
L"Software\\Wine\\Drivers\\%s\\devices", filename); L"Software\\Wine\\Drivers\\%s\\devices", filename);
} else if (reason == DLL_PROCESS_DETACH) { break;
struct device_cache *device, *device_next; case DLL_PROCESS_DETACH:
if (!reserved)
LIST_FOR_EACH_ENTRY_SAFE(device, device_next, &g_devices_cache, struct device_cache, entry) {
free(device); struct device_cache *device, *device_next;
LIST_FOR_EACH_ENTRY_SAFE(device, device_next, &g_devices_cache, struct device_cache, entry)
free(device);
}
break;
} }
return TRUE; return TRUE;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment