msctf: Check TF_GetThreadMgr error in DocumentMgr_Destructor.

Thread manager could be already destroyed when calling DocumentMgr_Destructor.
This removes the error dialog when closing Unreal Engine 4 games.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zhiyi Zhang 2019-08-27 21:06:41 +08:00 committed by Alexandre Julliard
parent 5fb8e3edef
commit 0bebbbaa51
1 changed files with 6 additions and 2 deletions

View File

@ -77,11 +77,15 @@ static inline EnumTfContext *impl_from_IEnumTfContexts(IEnumTfContexts *iface)
static void DocumentMgr_Destructor(DocumentMgr *This) static void DocumentMgr_Destructor(DocumentMgr *This)
{ {
ITfThreadMgr *tm; ITfThreadMgr *tm = NULL;
TRACE("destroying %p\n", This); TRACE("destroying %p\n", This);
TF_GetThreadMgr(&tm); TF_GetThreadMgr(&tm);
ThreadMgr_OnDocumentMgrDestruction(tm, &This->ITfDocumentMgr_iface); if (tm)
{
ThreadMgr_OnDocumentMgrDestruction(tm, &This->ITfDocumentMgr_iface);
ITfThreadMgr_Release(tm);
}
if (This->contextStack[0]) if (This->contextStack[0])
ITfContext_Release(This->contextStack[0]); ITfContext_Release(This->contextStack[0]);