Module: wine Branch: master Commit: 819518c4618bdf14e43c30d9e851c2f3b2d747d7 URL: http://source.winehq.org/git/wine.git/?a=commit;h=819518c4618bdf14e43c30d9e8...
Author: Aric Stewart aric@codeweavers.com Date: Thu Jun 11 13:33:07 2009 -0500
msctf: Define ITfCompartmentMgr for ThreadMgr.
---
dlls/msctf/threadmgr.c | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/dlls/msctf/threadmgr.c b/dlls/msctf/threadmgr.c index 9b887f0..490bfc6 100644 --- a/dlls/msctf/threadmgr.c +++ b/dlls/msctf/threadmgr.c @@ -78,6 +78,9 @@ typedef struct tagACLMulti { /* const ITfSourceSingleVtbl *SourceSingleVtbl; */ LONG refCount;
+ /* Aggregation */ + ITfCompartmentMgr *CompartmentMgr; + const ITfThreadMgrEventSinkVtbl *ThreadMgrEventSinkVtbl; /* internal */
ITfDocumentMgr *focus; @@ -183,6 +186,8 @@ static void ThreadMgr_Destructor(ThreadMgr *This) HeapFree(GetProcessHeap(),0,key); }
+ CompartmentMgr_Destructor(This->CompartmentMgr); + HeapFree(GetProcessHeap(),0,This); }
@@ -211,6 +216,10 @@ static HRESULT WINAPI ThreadMgr_QueryInterface(ITfThreadMgr *iface, REFIID iid, { *ppvOut = &This->ClientIdVtbl; } + else if (IsEqualIID(iid, &IID_ITfCompartmentMgr)) + { + *ppvOut = This->CompartmentMgr; + }
if (*ppvOut) { @@ -1054,6 +1063,8 @@ HRESULT ThreadMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut) This->refCount = 1; TlsSetValue(tlsIndex,This);
+ CompartmentMgr_Constructor((IUnknown*)This, &IID_IUnknown, (IUnknown**)&This->CompartmentMgr); + list_init(&This->CurrentPreservedKeys);
list_init(&This->ActiveLanguageProfileNotifySink);