evr: Free type libraries on process detach (Valgrind).

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
feature/deterministic
Zebediah Figura 2020-06-07 17:23:32 -05:00 committed by Alexandre Julliard
parent b6c96cf763
commit 1752958240
3 changed files with 10 additions and 11 deletions

View File

@ -24,7 +24,6 @@
#include "evr_private.h"
#include "d3d9.h"
#include "wine/strmbase.h"
#include "initguid.h"
#include "dxva2api.h"

View File

@ -21,6 +21,7 @@
#include "dshow.h"
#include "evr.h"
#include "wine/strmbase.h"
HRESULT evr_filter_create(IUnknown *outer_unk, void **ppv) DECLSPEC_HIDDEN;

View File

@ -36,18 +36,17 @@ static HINSTANCE instance_evr;
BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved)
{
TRACE("(%p, %d, %p)\n", instance, reason, reserved);
switch (reason)
if (reason == DLL_WINE_PREATTACH)
return FALSE; /* prefer native version */
else if (reason == DLL_PROCESS_ATTACH)
{
case DLL_WINE_PREATTACH:
return FALSE; /* prefer native version */
case DLL_PROCESS_ATTACH:
instance_evr = instance;
DisableThreadLibraryCalls(instance);
break;
instance_evr = instance;
DisableThreadLibraryCalls(instance);
}
else if (reason == DLL_PROCESS_DETACH && !reserved)
{
strmbase_release_typelibs();
}
return TRUE;
}