msctf: Define ITfCompartmentMgr for Context.

This commit is contained in:
Aric Stewart 2009-06-11 13:33:33 -05:00 committed by Alexandre Julliard
parent 1ffa3515dd
commit 3726e38b19
1 changed files with 10 additions and 0 deletions

View File

@ -68,6 +68,9 @@ typedef struct tagContext {
LONG refCount; LONG refCount;
BOOL connected; BOOL connected;
/* Aggregation */
ITfCompartmentMgr *CompartmentMgr;
TfClientId tidOwner; TfClientId tidOwner;
TfEditCookie defaultCookie; TfEditCookie defaultCookie;
TS_STATUS documentStatus; TS_STATUS documentStatus;
@ -175,6 +178,7 @@ static void Context_Destructor(Context *This)
free_sink(sink); free_sink(sink);
} }
CompartmentMgr_Destructor(This->CompartmentMgr);
HeapFree(GetProcessHeap(),0,This); HeapFree(GetProcessHeap(),0,This);
} }
@ -195,6 +199,10 @@ static HRESULT WINAPI Context_QueryInterface(ITfContext *iface, REFIID iid, LPVO
{ {
*ppvOut = &This->InsertAtSelectionVtbl; *ppvOut = &This->InsertAtSelectionVtbl;
} }
else if (IsEqualIID(iid, &IID_ITfCompartmentMgr))
{
*ppvOut = This->CompartmentMgr;
}
if (*ppvOut) if (*ppvOut)
{ {
@ -718,6 +726,8 @@ HRESULT Context_Constructor(TfClientId tidOwner, IUnknown *punk, ITfContext **pp
This->tidOwner = tidOwner; This->tidOwner = tidOwner;
This->connected = FALSE; This->connected = FALSE;
CompartmentMgr_Constructor((IUnknown*)This, &IID_IUnknown, (IUnknown**)&This->CompartmentMgr);
cookie->lockType = TF_ES_READ; cookie->lockType = TF_ES_READ;
cookie->pOwningContext = This; cookie->pOwningContext = This;