Aric Stewart : msctf: Define ITfCompartmentMgr for ThreadMgr.
Alexandre Julliard
julliard at winehq.org
Fri Jun 12 10:41:10 CDT 2009
Module: wine
Branch: master
Commit: 819518c4618bdf14e43c30d9e851c2f3b2d747d7
URL: http://source.winehq.org/git/wine.git/?a=commit;h=819518c4618bdf14e43c30d9e851c2f3b2d747d7
Author: Aric Stewart <aric at 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);
More information about the wine-cvs
mailing list