msctf: Define ITfCompartmentMgr for ThreadMgr.
This commit is contained in:
parent
2b08041bf1
commit
819518c461
|
@ -78,6 +78,9 @@ typedef struct tagACLMulti {
|
||||||
/* const ITfSourceSingleVtbl *SourceSingleVtbl; */
|
/* const ITfSourceSingleVtbl *SourceSingleVtbl; */
|
||||||
LONG refCount;
|
LONG refCount;
|
||||||
|
|
||||||
|
/* Aggregation */
|
||||||
|
ITfCompartmentMgr *CompartmentMgr;
|
||||||
|
|
||||||
const ITfThreadMgrEventSinkVtbl *ThreadMgrEventSinkVtbl; /* internal */
|
const ITfThreadMgrEventSinkVtbl *ThreadMgrEventSinkVtbl; /* internal */
|
||||||
|
|
||||||
ITfDocumentMgr *focus;
|
ITfDocumentMgr *focus;
|
||||||
|
@ -183,6 +186,8 @@ static void ThreadMgr_Destructor(ThreadMgr *This)
|
||||||
HeapFree(GetProcessHeap(),0,key);
|
HeapFree(GetProcessHeap(),0,key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CompartmentMgr_Destructor(This->CompartmentMgr);
|
||||||
|
|
||||||
HeapFree(GetProcessHeap(),0,This);
|
HeapFree(GetProcessHeap(),0,This);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -211,6 +216,10 @@ static HRESULT WINAPI ThreadMgr_QueryInterface(ITfThreadMgr *iface, REFIID iid,
|
||||||
{
|
{
|
||||||
*ppvOut = &This->ClientIdVtbl;
|
*ppvOut = &This->ClientIdVtbl;
|
||||||
}
|
}
|
||||||
|
else if (IsEqualIID(iid, &IID_ITfCompartmentMgr))
|
||||||
|
{
|
||||||
|
*ppvOut = This->CompartmentMgr;
|
||||||
|
}
|
||||||
|
|
||||||
if (*ppvOut)
|
if (*ppvOut)
|
||||||
{
|
{
|
||||||
|
@ -1054,6 +1063,8 @@ HRESULT ThreadMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
|
||||||
This->refCount = 1;
|
This->refCount = 1;
|
||||||
TlsSetValue(tlsIndex,This);
|
TlsSetValue(tlsIndex,This);
|
||||||
|
|
||||||
|
CompartmentMgr_Constructor((IUnknown*)This, &IID_IUnknown, (IUnknown**)&This->CompartmentMgr);
|
||||||
|
|
||||||
list_init(&This->CurrentPreservedKeys);
|
list_init(&This->CurrentPreservedKeys);
|
||||||
|
|
||||||
list_init(&This->ActiveLanguageProfileNotifySink);
|
list_init(&This->ActiveLanguageProfileNotifySink);
|
||||||
|
|
Loading…
Reference in New Issue