qedit: 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:30 -05:00 committed by Alexandre Julliard
parent 4beda16757
commit 0e6fc4d81c
4 changed files with 13 additions and 11 deletions

View File

@ -23,15 +23,18 @@
WINE_DEFAULT_DEBUG_CHANNEL(qedit);
static HINSTANCE instance;
static HINSTANCE qedit_instance;
BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv)
BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, void *reserved)
{
switch(fdwReason) {
case DLL_PROCESS_ATTACH:
instance = hInstDLL;
DisableThreadLibraryCalls(hInstDLL);
break;
if (reason == DLL_PROCESS_ATTACH)
{
qedit_instance = instance;
DisableThreadLibraryCalls(instance);
}
else if (reason == DLL_PROCESS_DETACH && !reserved)
{
strmbase_release_typelibs();
}
return TRUE;
}
@ -243,7 +246,7 @@ HRESULT WINAPI DllRegisterServer(void)
IFilterMapper2 *mapper;
HRESULT hr;
if (FAILED(hr = __wine_register_resources( instance )))
if (FAILED(hr = __wine_register_resources(qedit_instance)))
return hr;
if (FAILED(hr = CoCreateInstance(&CLSID_FilterMapper2, NULL, CLSCTX_INPROC_SERVER,
@ -267,7 +270,7 @@ HRESULT WINAPI DllUnregisterServer(void)
IFilterMapper2 *mapper;
HRESULT hr;
if (FAILED(hr = __wine_unregister_resources( instance )))
if (FAILED(hr = __wine_unregister_resources(qedit_instance)))
return hr;
if (FAILED(hr = CoCreateInstance(&CLSID_FilterMapper2, NULL, CLSCTX_INPROC_SERVER,

View File

@ -28,7 +28,6 @@
#include "ole2.h"
#include "qedit_private.h"
#include "wine/strmbase.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(qedit);

View File

@ -32,6 +32,7 @@
#include "winuser.h"
#include "dshow.h"
#include "qedit.h"
#include "wine/strmbase.h"
HRESULT timeline_create(IUnknown *outer, IUnknown **out) DECLSPEC_HIDDEN;
HRESULT media_detector_create(IUnknown *outer, IUnknown **out) DECLSPEC_HIDDEN;

View File

@ -29,7 +29,6 @@
#include "qedit_private.h"
#include "wine/debug.h"
#include "wine/strmbase.h"
WINE_DEFAULT_DEBUG_CHANNEL(qedit);