mshtml: Delete the dispex and gecko static critical sections when unloading the dll.
This commit is contained in:
parent
c9ae82da93
commit
113df19d6a
|
@ -31,6 +31,16 @@
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
|
WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
|
||||||
|
|
||||||
|
static CRITICAL_SECTION cs_dispex_static_data;
|
||||||
|
static CRITICAL_SECTION_DEBUG cs_dispex_static_data_dbg =
|
||||||
|
{
|
||||||
|
0, 0, &cs_dispex_static_data,
|
||||||
|
{ &cs_dispex_static_data_dbg.ProcessLocksList, &cs_dispex_static_data_dbg.ProcessLocksList },
|
||||||
|
0, 0, { (DWORD_PTR)(__FILE__ ": dispex_static_data") }
|
||||||
|
};
|
||||||
|
static CRITICAL_SECTION cs_dispex_static_data = { &cs_dispex_static_data_dbg, -1, 0, 0, 0, 0 };
|
||||||
|
|
||||||
|
|
||||||
static const WCHAR objectW[] = {'[','o','b','j','e','c','t',']',0};
|
static const WCHAR objectW[] = {'[','o','b','j','e','c','t',']',0};
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -155,6 +165,7 @@ void release_typelib(void)
|
||||||
ITypeInfo_Release(typeinfos[i]);
|
ITypeInfo_Release(typeinfos[i]);
|
||||||
|
|
||||||
ITypeLib_Release(typelib);
|
ITypeLib_Release(typelib);
|
||||||
|
DeleteCriticalSection(&cs_dispex_static_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT get_htmldoc_classinfo(ITypeInfo **typeinfo)
|
HRESULT get_htmldoc_classinfo(ITypeInfo **typeinfo)
|
||||||
|
@ -320,16 +331,6 @@ HRESULT get_dispids(tid_t tid, DWORD *ret_size, DISPID **ret)
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static CRITICAL_SECTION cs_dispex_static_data;
|
|
||||||
static CRITICAL_SECTION_DEBUG cs_dispex_static_data_dbg =
|
|
||||||
{
|
|
||||||
0, 0, &cs_dispex_static_data,
|
|
||||||
{ &cs_dispex_static_data_dbg.ProcessLocksList, &cs_dispex_static_data_dbg.ProcessLocksList },
|
|
||||||
0, 0, { (DWORD_PTR)(__FILE__ ": dispex_static_data") }
|
|
||||||
};
|
|
||||||
static CRITICAL_SECTION cs_dispex_static_data = { &cs_dispex_static_data_dbg, -1, 0, 0, 0, 0 };
|
|
||||||
|
|
||||||
|
|
||||||
static dispex_data_t *get_dispex_data(DispatchEx *This)
|
static dispex_data_t *get_dispex_data(DispatchEx *This)
|
||||||
{
|
{
|
||||||
if(This->data->data)
|
if(This->data->data)
|
||||||
|
|
|
@ -905,6 +905,8 @@ void close_gecko(void)
|
||||||
|
|
||||||
/* Gecko doesn't really support being unloaded */
|
/* Gecko doesn't really support being unloaded */
|
||||||
/* if (hXPCOM) FreeLibrary(hXPCOM); */
|
/* if (hXPCOM) FreeLibrary(hXPCOM); */
|
||||||
|
|
||||||
|
DeleteCriticalSection(&cs_load_gecko);
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL is_gecko_path(const char *path)
|
BOOL is_gecko_path(const char *path)
|
||||||
|
|
Loading…
Reference in New Issue