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,12 +89,17 @@ BOOL WINAPI DllMain(HINSTANCE dll, DWORD reason, void *reserved) ...@@ -87,12 +89,17 @@ 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;
case DLL_PROCESS_DETACH:
if (!reserved)
{
struct device_cache *device, *device_next; struct device_cache *device, *device_next;
LIST_FOR_EACH_ENTRY_SAFE(device, device_next, &g_devices_cache, struct device_cache, entry) LIST_FOR_EACH_ENTRY_SAFE(device, device_next, &g_devices_cache, struct device_cache, entry)
free(device); 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