Author: akhaldi
Date: Fri Jan 27 17:31:52 2012
New Revision: 55250
URL:
http://svn.reactos.org/svn/reactos?rev=55250&view=rev
Log:
[MSCTF]
* Sync to Wine 1.3.37.
Added:
trunk/reactos/dll/win32/msctf/msctf.rgs (with props)
trunk/reactos/dll/win32/msctf/msctf_classes.idl (with props)
Modified:
trunk/reactos/dll/win32/msctf/CMakeLists.txt
trunk/reactos/dll/win32/msctf/categorymgr.c
trunk/reactos/dll/win32/msctf/compartmentmgr.c
trunk/reactos/dll/win32/msctf/context.c
trunk/reactos/dll/win32/msctf/displayattributemgr.c
trunk/reactos/dll/win32/msctf/documentmgr.c
trunk/reactos/dll/win32/msctf/inputprocessor.c
trunk/reactos/dll/win32/msctf/langbarmgr.c
trunk/reactos/dll/win32/msctf/msctf.c
trunk/reactos/dll/win32/msctf/msctf.rbuild
trunk/reactos/dll/win32/msctf/msctf_internal.h
trunk/reactos/dll/win32/msctf/range.c
trunk/reactos/dll/win32/msctf/threadmgr.c
trunk/reactos/dll/win32/msctf/version.rc
trunk/reactos/media/doc/README.WINE
Modified: trunk/reactos/dll/win32/msctf/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msctf/CMakeLists…
==============================================================================
--- trunk/reactos/dll/win32/msctf/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msctf/CMakeLists.txt [iso-8859-1] Fri Jan 27 17:31:52 2012
@@ -20,7 +20,6 @@
langbarmgr.c
msctf.c
range.c
- regsvr.c
threadmgr.c
version.rc
${CMAKE_CURRENT_BINARY_DIR}/msctf_stubs.c
Modified: trunk/reactos/dll/win32/msctf/categorymgr.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msctf/categorymg…
==============================================================================
--- trunk/reactos/dll/win32/msctf/categorymgr.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msctf/categorymgr.c [iso-8859-1] Fri Jan 27 17:31:52 2012
@@ -41,10 +41,15 @@
WINE_DEFAULT_DEBUG_CHANNEL(msctf);
typedef struct tagCategoryMgr {
- const ITfCategoryMgrVtbl *CategoryMgrVtbl;
+ ITfCategoryMgr ITfCategoryMgr_iface;
LONG refCount;
} CategoryMgr;
+static inline CategoryMgr *impl_from_ITfCategoryMgr(ITfCategoryMgr *iface)
+{
+ return CONTAINING_RECORD(iface, CategoryMgr, ITfCategoryMgr_iface);
+}
+
static void CategoryMgr_Destructor(CategoryMgr *This)
{
TRACE("destroying %p\n", This);
@@ -53,7 +58,7 @@
static HRESULT WINAPI CategoryMgr_QueryInterface(ITfCategoryMgr *iface, REFIID iid,
LPVOID *ppvOut)
{
- CategoryMgr *This = (CategoryMgr *)iface;
+ CategoryMgr *This = impl_from_ITfCategoryMgr(iface);
*ppvOut = NULL;
if (IsEqualIID(iid, &IID_IUnknown) || IsEqualIID(iid, &IID_ITfCategoryMgr))
@@ -73,13 +78,13 @@
static ULONG WINAPI CategoryMgr_AddRef(ITfCategoryMgr *iface)
{
- CategoryMgr *This = (CategoryMgr *)iface;
+ CategoryMgr *This = impl_from_ITfCategoryMgr(iface);
return InterlockedIncrement(&This->refCount);
}
static ULONG WINAPI CategoryMgr_Release(ITfCategoryMgr *iface)
{
- CategoryMgr *This = (CategoryMgr *)iface;
+ CategoryMgr *This = impl_from_ITfCategoryMgr(iface);
ULONG ret;
ret = InterlockedDecrement(&This->refCount);
@@ -100,7 +105,7 @@
WCHAR buf2[39];
ULONG res;
HKEY tipkey,catkey,itmkey;
- CategoryMgr *This = (CategoryMgr*)iface;
+ CategoryMgr *This = impl_from_ITfCategoryMgr(iface);
static const WCHAR ctg[] =
{'C','a','t','e','g','o','r','y',0};
static const WCHAR itm[] = {'I','t','e','m',0};
@@ -148,7 +153,7 @@
WCHAR buf[39];
WCHAR buf2[39];
HKEY tipkey;
- CategoryMgr *This = (CategoryMgr*)iface;
+ CategoryMgr *This = impl_from_ITfCategoryMgr(iface);
static const WCHAR ctg[] =
{'C','a','t','e','g','o','r','y',0};
static const WCHAR itm[] = {'I','t','e','m',0};
@@ -180,7 +185,7 @@
static HRESULT WINAPI CategoryMgr_EnumCategoriesInItem ( ITfCategoryMgr *iface,
REFGUID rguid, IEnumGUID **ppEnum)
{
- CategoryMgr *This = (CategoryMgr*)iface;
+ CategoryMgr *This = impl_from_ITfCategoryMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -188,7 +193,7 @@
static HRESULT WINAPI CategoryMgr_EnumItemsInCategory ( ITfCategoryMgr *iface,
REFGUID rcatid, IEnumGUID **ppEnum)
{
- CategoryMgr *This = (CategoryMgr*)iface;
+ CategoryMgr *This = impl_from_ITfCategoryMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -198,12 +203,12 @@
{
static const WCHAR fmt[] = {
'%','s','\\','%','s','\\','C','a','t','e','g','o','r','y','\\','I','t','e','m','\\','%','s',0};
- WCHAR fullkey[110];
+ WCHAR fullkey[120];
WCHAR buf[39];
HKEY key;
HRESULT hr = S_FALSE;
INT index = 0;
- CategoryMgr *This = (CategoryMgr*)iface;
+ CategoryMgr *This = impl_from_ITfCategoryMgr(iface);
TRACE("(%p)\n",This);
@@ -263,7 +268,7 @@
ITfCategoryMgr *iface, REFCLSID rclsid, REFGUID rguid,
const WCHAR *pchDesc, ULONG cch)
{
- CategoryMgr *This = (CategoryMgr*)iface;
+ CategoryMgr *This = impl_from_ITfCategoryMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -271,7 +276,7 @@
static HRESULT WINAPI CategoryMgr_UnregisterGUIDDescription (
ITfCategoryMgr *iface, REFCLSID rclsid, REFGUID rguid)
{
- CategoryMgr *This = (CategoryMgr*)iface;
+ CategoryMgr *This = impl_from_ITfCategoryMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -279,7 +284,7 @@
static HRESULT WINAPI CategoryMgr_GetGUIDDescription ( ITfCategoryMgr *iface,
REFGUID rguid, BSTR *pbstrDesc)
{
- CategoryMgr *This = (CategoryMgr*)iface;
+ CategoryMgr *This = impl_from_ITfCategoryMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -287,7 +292,7 @@
static HRESULT WINAPI CategoryMgr_RegisterGUIDDWORD ( ITfCategoryMgr *iface,
REFCLSID rclsid, REFGUID rguid, DWORD dw)
{
- CategoryMgr *This = (CategoryMgr*)iface;
+ CategoryMgr *This = impl_from_ITfCategoryMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -295,7 +300,7 @@
static HRESULT WINAPI CategoryMgr_UnregisterGUIDDWORD ( ITfCategoryMgr *iface,
REFCLSID rclsid, REFGUID rguid)
{
- CategoryMgr *This = (CategoryMgr*)iface;
+ CategoryMgr *This = impl_from_ITfCategoryMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -303,7 +308,7 @@
static HRESULT WINAPI CategoryMgr_GetGUIDDWORD ( ITfCategoryMgr *iface,
REFGUID rguid, DWORD *pdw)
{
- CategoryMgr *This = (CategoryMgr*)iface;
+ CategoryMgr *This = impl_from_ITfCategoryMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -315,7 +320,7 @@
DWORD index;
GUID *checkguid;
DWORD id;
- CategoryMgr *This = (CategoryMgr*)iface;
+ CategoryMgr *This = impl_from_ITfCategoryMgr(iface);
TRACE("(%p) %s %p\n",This,debugstr_guid(rguid),pguidatom);
@@ -350,7 +355,7 @@
static HRESULT WINAPI CategoryMgr_GetGUID ( ITfCategoryMgr *iface,
TfGuidAtom guidatom, GUID *pguid)
{
- CategoryMgr *This = (CategoryMgr*)iface;
+ CategoryMgr *This = impl_from_ITfCategoryMgr(iface);
TRACE("(%p) %i\n",This,guidatom);
@@ -368,7 +373,7 @@
static HRESULT WINAPI CategoryMgr_IsEqualTfGuidAtom ( ITfCategoryMgr *iface,
TfGuidAtom guidatom, REFGUID rguid, BOOL *pfEqual)
{
- CategoryMgr *This = (CategoryMgr*)iface;
+ CategoryMgr *This = impl_from_ITfCategoryMgr(iface);
TRACE("(%p) %i %s %p\n",This,guidatom,debugstr_guid(rguid),pfEqual);
@@ -418,7 +423,7 @@
if (This == NULL)
return E_OUTOFMEMORY;
- This->CategoryMgrVtbl= &CategoryMgr_CategoryMgrVtbl;
+ This->ITfCategoryMgr_iface.lpVtbl = &CategoryMgr_CategoryMgrVtbl;
This->refCount = 1;
TRACE("returning %p\n", This);
Modified: trunk/reactos/dll/win32/msctf/compartmentmgr.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msctf/compartmen…
==============================================================================
--- trunk/reactos/dll/win32/msctf/compartmentmgr.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msctf/compartmentmgr.c [iso-8859-1] Fri Jan 27 17:31:52 2012
@@ -284,7 +284,7 @@
}
/**************************************************
- * IEnumGUID implementaion for ITfCompartmentMgr::EnumCompartments
+ * IEnumGUID implementation for ITfCompartmentMgr::EnumCompartments
**************************************************/
static void CompartmentEnumGuid_Destructor(CompartmentEnumGuid *This)
{
Modified: trunk/reactos/dll/win32/msctf/context.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msctf/context.c?…
==============================================================================
--- trunk/reactos/dll/win32/msctf/context.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msctf/context.c [iso-8859-1] Fri Jan 27 17:31:52 2012
@@ -262,7 +262,7 @@
if (!This->pITextStoreACP)
{
- FIXME("No ITextStoreACP avaliable\n");
+ FIXME("No ITextStoreACP available\n");
*phrSession = E_FAIL;
return E_FAIL;
}
Modified: trunk/reactos/dll/win32/msctf/displayattributemgr.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msctf/displayatt…
==============================================================================
--- trunk/reactos/dll/win32/msctf/displayattributemgr.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msctf/displayattributemgr.c [iso-8859-1] Fri Jan 27 17:31:52
2012
@@ -31,11 +31,16 @@
WINE_DEFAULT_DEBUG_CHANNEL(msctf);
typedef struct tagDisplayAttributeMgr {
- const ITfDisplayAttributeMgrVtbl *DisplayAttributeMgrVtbl;
+ ITfDisplayAttributeMgr ITfDisplayAttributeMgr_iface;
LONG refCount;
} DisplayAttributeMgr;
+
+static inline DisplayAttributeMgr
*impl_from_ITfDisplayAttributeMgr(ITfDisplayAttributeMgr *iface)
+{
+ return CONTAINING_RECORD(iface, DisplayAttributeMgr, ITfDisplayAttributeMgr_iface);
+}
static void DisplayAttributeMgr_Destructor(DisplayAttributeMgr *This)
{
@@ -46,7 +51,7 @@
static HRESULT WINAPI DisplayAttributeMgr_QueryInterface(ITfDisplayAttributeMgr *iface,
REFIID iid, LPVOID *ppvOut)
{
- DisplayAttributeMgr *This = (DisplayAttributeMgr *)iface;
+ DisplayAttributeMgr *This = impl_from_ITfDisplayAttributeMgr(iface);
*ppvOut = NULL;
if (IsEqualIID(iid, &IID_IUnknown) || IsEqualIID(iid,
&IID_ITfDisplayAttributeMgr))
@@ -66,13 +71,13 @@
static ULONG WINAPI DisplayAttributeMgr_AddRef(ITfDisplayAttributeMgr *iface)
{
- DisplayAttributeMgr *This = (DisplayAttributeMgr *)iface;
+ DisplayAttributeMgr *This = impl_from_ITfDisplayAttributeMgr(iface);
return InterlockedIncrement(&This->refCount);
}
static ULONG WINAPI DisplayAttributeMgr_Release(ITfDisplayAttributeMgr *iface)
{
- DisplayAttributeMgr *This = (DisplayAttributeMgr *)iface;
+ DisplayAttributeMgr *This = impl_from_ITfDisplayAttributeMgr(iface);
ULONG ret;
ret = InterlockedDecrement(&This->refCount);
@@ -87,7 +92,7 @@
static HRESULT WINAPI DisplayAttributeMgr_OnUpdateInfo(ITfDisplayAttributeMgr *iface)
{
- DisplayAttributeMgr *This = (DisplayAttributeMgr *)iface;
+ DisplayAttributeMgr *This = impl_from_ITfDisplayAttributeMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
@@ -95,7 +100,7 @@
static HRESULT WINAPI DisplayAttributeMgr_EnumDisplayAttributeInfo(ITfDisplayAttributeMgr
*iface, IEnumTfDisplayAttributeInfo **ppEnum)
{
- DisplayAttributeMgr *This = (DisplayAttributeMgr *)iface;
+ DisplayAttributeMgr *This = impl_from_ITfDisplayAttributeMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
@@ -103,7 +108,7 @@
static HRESULT WINAPI DisplayAttributeMgr_GetDisplayAttributeInfo(ITfDisplayAttributeMgr
*iface, REFGUID guid, ITfDisplayAttributeInfo **ppInfo, CLSID *pclsidOwner)
{
- DisplayAttributeMgr *This = (DisplayAttributeMgr *)iface;
+ DisplayAttributeMgr *This = impl_from_ITfDisplayAttributeMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
@@ -130,7 +135,7 @@
if (This == NULL)
return E_OUTOFMEMORY;
- This->DisplayAttributeMgrVtbl= &DisplayAttributeMgr_DisplayAttributeMgrVtbl;
+ This->ITfDisplayAttributeMgr_iface.lpVtbl =
&DisplayAttributeMgr_DisplayAttributeMgrVtbl;
This->refCount = 1;
TRACE("returning %p\n", This);
Modified: trunk/reactos/dll/win32/msctf/documentmgr.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msctf/documentmg…
==============================================================================
--- trunk/reactos/dll/win32/msctf/documentmgr.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msctf/documentmgr.c [iso-8859-1] Fri Jan 27 17:31:52 2012
@@ -41,8 +41,8 @@
WINE_DEFAULT_DEBUG_CHANNEL(msctf);
typedef struct tagDocumentMgr {
- const ITfDocumentMgrVtbl *DocumentMgrVtbl;
- const ITfSourceVtbl *SourceVtbl;
+ ITfDocumentMgr ITfDocumentMgr_iface;
+ ITfSource ITfSource_iface;
LONG refCount;
/* Aggregation */
@@ -53,7 +53,7 @@
} DocumentMgr;
typedef struct tagEnumTfContext {
- const IEnumTfContextsVtbl *Vtbl;
+ IEnumTfContexts IEnumTfContexts_iface;
LONG refCount;
DWORD index;
@@ -62,9 +62,19 @@
static HRESULT EnumTfContext_Constructor(DocumentMgr* mgr, IEnumTfContexts **ppOut);
-static inline DocumentMgr *impl_from_ITfSourceVtbl(ITfSource *iface)
-{
- return (DocumentMgr *)((char *)iface - FIELD_OFFSET(DocumentMgr,SourceVtbl));
+static inline DocumentMgr *impl_from_ITfDocumentMgr(ITfDocumentMgr *iface)
+{
+ return CONTAINING_RECORD(iface, DocumentMgr, ITfDocumentMgr_iface);
+}
+
+static inline DocumentMgr *impl_from_ITfSource(ITfSource *iface)
+{
+ return CONTAINING_RECORD(iface, DocumentMgr, ITfSource_iface);
+}
+
+static inline EnumTfContext *impl_from_IEnumTfContexts(IEnumTfContexts *iface)\
+{
+ return CONTAINING_RECORD(iface, EnumTfContext, IEnumTfContexts_iface);
}
static void DocumentMgr_Destructor(DocumentMgr *This)
@@ -73,7 +83,7 @@
TRACE("destroying %p\n", This);
TF_GetThreadMgr(&tm);
- ThreadMgr_OnDocumentMgrDestruction(tm, (ITfDocumentMgr*)This);
+ ThreadMgr_OnDocumentMgrDestruction(tm, &This->ITfDocumentMgr_iface);
if (This->contextStack[0])
ITfContext_Release(This->contextStack[0]);
@@ -85,7 +95,7 @@
static HRESULT WINAPI DocumentMgr_QueryInterface(ITfDocumentMgr *iface, REFIID iid,
LPVOID *ppvOut)
{
- DocumentMgr *This = (DocumentMgr *)iface;
+ DocumentMgr *This = impl_from_ITfDocumentMgr(iface);
*ppvOut = NULL;
if (IsEqualIID(iid, &IID_IUnknown) || IsEqualIID(iid, &IID_ITfDocumentMgr))
@@ -94,7 +104,7 @@
}
else if (IsEqualIID(iid, &IID_ITfSource))
{
- *ppvOut = &This->SourceVtbl;
+ *ppvOut = &This->ITfSource_iface;
}
else if (IsEqualIID(iid, &IID_ITfCompartmentMgr))
{
@@ -113,13 +123,13 @@
static ULONG WINAPI DocumentMgr_AddRef(ITfDocumentMgr *iface)
{
- DocumentMgr *This = (DocumentMgr *)iface;
+ DocumentMgr *This = impl_from_ITfDocumentMgr(iface);
return InterlockedIncrement(&This->refCount);
}
static ULONG WINAPI DocumentMgr_Release(ITfDocumentMgr *iface)
{
- DocumentMgr *This = (DocumentMgr *)iface;
+ DocumentMgr *This = impl_from_ITfDocumentMgr(iface);
ULONG ret;
ret = InterlockedDecrement(&This->refCount);
@@ -136,14 +146,14 @@
DWORD dwFlags, IUnknown *punk, ITfContext **ppic,
TfEditCookie *pecTextStore)
{
- DocumentMgr *This = (DocumentMgr *)iface;
+ DocumentMgr *This = impl_from_ITfDocumentMgr(iface);
TRACE("(%p) 0x%x 0x%x %p %p
%p\n",This,tidOwner,dwFlags,punk,ppic,pecTextStore);
return Context_Constructor(tidOwner, punk, iface, ppic, pecTextStore);
}
static HRESULT WINAPI DocumentMgr_Push(ITfDocumentMgr *iface, ITfContext *pic)
{
- DocumentMgr *This = (DocumentMgr *)iface;
+ DocumentMgr *This = impl_from_ITfDocumentMgr(iface);
ITfContext *check;
TRACE("(%p) %p\n",This,pic);
@@ -168,7 +178,7 @@
static HRESULT WINAPI DocumentMgr_Pop(ITfDocumentMgr *iface, DWORD dwFlags)
{
- DocumentMgr *This = (DocumentMgr *)iface;
+ DocumentMgr *This = impl_from_ITfDocumentMgr(iface);
TRACE("(%p) 0x%x\n",This,dwFlags);
if (dwFlags == TF_POPF_ALL)
@@ -210,7 +220,7 @@
static HRESULT WINAPI DocumentMgr_GetTop(ITfDocumentMgr *iface, ITfContext **ppic)
{
- DocumentMgr *This = (DocumentMgr *)iface;
+ DocumentMgr *This = impl_from_ITfDocumentMgr(iface);
TRACE("(%p)\n",This);
if (!ppic)
return E_INVALIDARG;
@@ -225,7 +235,7 @@
static HRESULT WINAPI DocumentMgr_GetBase(ITfDocumentMgr *iface, ITfContext **ppic)
{
- DocumentMgr *This = (DocumentMgr *)iface;
+ DocumentMgr *This = impl_from_ITfDocumentMgr(iface);
ITfContext *tgt;
TRACE("(%p)\n",This);
@@ -247,7 +257,7 @@
static HRESULT WINAPI DocumentMgr_EnumContexts(ITfDocumentMgr *iface, IEnumTfContexts
**ppEnum)
{
- DocumentMgr *This = (DocumentMgr *)iface;
+ DocumentMgr *This = impl_from_ITfDocumentMgr(iface);
TRACE("(%p) %p\n",This,ppEnum);
return EnumTfContext_Constructor(This, ppEnum);
}
@@ -269,20 +279,20 @@
static HRESULT WINAPI Source_QueryInterface(ITfSource *iface, REFIID iid, LPVOID
*ppvOut)
{
- DocumentMgr *This = impl_from_ITfSourceVtbl(iface);
- return DocumentMgr_QueryInterface((ITfDocumentMgr*)This, iid, *ppvOut);
+ DocumentMgr *This = impl_from_ITfSource(iface);
+ return DocumentMgr_QueryInterface(&This->ITfDocumentMgr_iface, iid, *ppvOut);
}
static ULONG WINAPI Source_AddRef(ITfSource *iface)
{
- DocumentMgr *This = impl_from_ITfSourceVtbl(iface);
- return DocumentMgr_AddRef((ITfDocumentMgr*)This);
+ DocumentMgr *This = impl_from_ITfSource(iface);
+ return DocumentMgr_AddRef(&This->ITfDocumentMgr_iface);
}
static ULONG WINAPI Source_Release(ITfSource *iface)
{
- DocumentMgr *This = impl_from_ITfSourceVtbl(iface);
- return DocumentMgr_Release((ITfDocumentMgr*)This);
+ DocumentMgr *This = impl_from_ITfSource(iface);
+ return DocumentMgr_Release(&This->ITfDocumentMgr_iface);
}
/*****************************************************
@@ -291,14 +301,14 @@
static HRESULT WINAPI DocumentMgrSource_AdviseSink(ITfSource *iface,
REFIID riid, IUnknown *punk, DWORD *pdwCookie)
{
- DocumentMgr *This = impl_from_ITfSourceVtbl(iface);
+ DocumentMgr *This = impl_from_ITfSource(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI DocumentMgrSource_UnadviseSink(ITfSource *iface, DWORD pdwCookie)
{
- DocumentMgr *This = impl_from_ITfSourceVtbl(iface);
+ DocumentMgr *This = impl_from_ITfSource(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -321,20 +331,20 @@
if (This == NULL)
return E_OUTOFMEMORY;
- This->DocumentMgrVtbl= &DocumentMgr_DocumentMgrVtbl;
- This->SourceVtbl = &DocumentMgr_SourceVtbl;
+ This->ITfDocumentMgr_iface.lpVtbl = &DocumentMgr_DocumentMgrVtbl;
+ This->ITfSource_iface.lpVtbl = &DocumentMgr_SourceVtbl;
This->refCount = 1;
This->ThreadMgrSink = ThreadMgrSink;
CompartmentMgr_Constructor((IUnknown*)This, &IID_IUnknown,
(IUnknown**)&This->CompartmentMgr);
TRACE("returning %p\n", This);
- *ppOut = (ITfDocumentMgr*)This;
+ *ppOut = &This->ITfDocumentMgr_iface;
return S_OK;
}
/**************************************************
- * IEnumTfContexts implementaion
+ * IEnumTfContexts implementation
**************************************************/
static void EnumTfContext_Destructor(EnumTfContext *This)
{
@@ -344,7 +354,7 @@
static HRESULT WINAPI EnumTfContext_QueryInterface(IEnumTfContexts *iface, REFIID iid,
LPVOID *ppvOut)
{
- EnumTfContext *This = (EnumTfContext *)iface;
+ EnumTfContext *This = impl_from_IEnumTfContexts(iface);
*ppvOut = NULL;
if (IsEqualIID(iid, &IID_IUnknown) || IsEqualIID(iid, &IID_IEnumTfContexts))
@@ -364,13 +374,13 @@
static ULONG WINAPI EnumTfContext_AddRef(IEnumTfContexts *iface)
{
- EnumTfContext *This = (EnumTfContext*)iface;
+ EnumTfContext *This = impl_from_IEnumTfContexts(iface);
return InterlockedIncrement(&This->refCount);
}
static ULONG WINAPI EnumTfContext_Release(IEnumTfContexts *iface)
{
- EnumTfContext *This = (EnumTfContext *)iface;
+ EnumTfContext *This = impl_from_IEnumTfContexts(iface);
ULONG ret;
ret = InterlockedDecrement(&This->refCount);
@@ -382,7 +392,7 @@
static HRESULT WINAPI EnumTfContext_Next(IEnumTfContexts *iface,
ULONG ulCount, ITfContext **rgContext, ULONG *pcFetched)
{
- EnumTfContext *This = (EnumTfContext *)iface;
+ EnumTfContext *This = impl_from_IEnumTfContexts(iface);
ULONG fetched = 0;
TRACE("(%p)\n",This);
@@ -411,7 +421,7 @@
static HRESULT WINAPI EnumTfContext_Skip( IEnumTfContexts* iface, ULONG celt)
{
- EnumTfContext *This = (EnumTfContext *)iface;
+ EnumTfContext *This = impl_from_IEnumTfContexts(iface);
TRACE("(%p)\n",This);
This->index += celt;
return S_OK;
@@ -419,7 +429,7 @@
static HRESULT WINAPI EnumTfContext_Reset( IEnumTfContexts* iface)
{
- EnumTfContext *This = (EnumTfContext *)iface;
+ EnumTfContext *This = impl_from_IEnumTfContexts(iface);
TRACE("(%p)\n",This);
This->index = 0;
return S_OK;
@@ -428,7 +438,7 @@
static HRESULT WINAPI EnumTfContext_Clone( IEnumTfContexts *iface,
IEnumTfContexts **ppenum)
{
- EnumTfContext *This = (EnumTfContext *)iface;
+ EnumTfContext *This = impl_from_IEnumTfContexts(iface);
HRESULT res;
TRACE("(%p)\n",This);
@@ -438,7 +448,7 @@
res = EnumTfContext_Constructor(This->docmgr, ppenum);
if (SUCCEEDED(res))
{
- EnumTfContext *new_This = (EnumTfContext *)*ppenum;
+ EnumTfContext *new_This = impl_from_IEnumTfContexts(*ppenum);
new_This->index = This->index;
}
return res;
@@ -463,11 +473,11 @@
if (This == NULL)
return E_OUTOFMEMORY;
- This->Vtbl= &IEnumTfContexts_Vtbl;
+ This->IEnumTfContexts_iface.lpVtbl = &IEnumTfContexts_Vtbl;
This->refCount = 1;
This->docmgr = mgr;
TRACE("returning %p\n", This);
- *ppOut = (IEnumTfContexts*)This;
- return S_OK;
-}
+ *ppOut = &This->IEnumTfContexts_iface;
+ return S_OK;
+}
Modified: trunk/reactos/dll/win32/msctf/inputprocessor.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msctf/inputproce…
==============================================================================
--- trunk/reactos/dll/win32/msctf/inputprocessor.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msctf/inputprocessor.c [iso-8859-1] Fri Jan 27 17:31:52 2012
@@ -782,7 +782,7 @@
}
/**************************************************
- * IEnumGUID implementaion for ITfInputProcessorProfiles::EnumInputProcessorInfo
+ * IEnumGUID implementation for ITfInputProcessorProfiles::EnumInputProcessorInfo
**************************************************/
static void ProfilesEnumGuid_Destructor(ProfilesEnumGuid *This)
{
@@ -935,7 +935,7 @@
}
/**************************************************
- * IEnumTfLanguageProfiles implementaion
+ * IEnumTfLanguageProfiles implementation
**************************************************/
static void EnumTfLanguageProfiles_Destructor(EnumTfLanguageProfiles *This)
{
Modified: trunk/reactos/dll/win32/msctf/langbarmgr.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msctf/langbarmgr…
==============================================================================
--- trunk/reactos/dll/win32/msctf/langbarmgr.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msctf/langbarmgr.c [iso-8859-1] Fri Jan 27 17:31:52 2012
@@ -31,11 +31,16 @@
WINE_DEFAULT_DEBUG_CHANNEL(msctf);
typedef struct tagLangBarMgr {
- const ITfLangBarMgrVtbl *LangBarMgrVtbl;
+ ITfLangBarMgr ITfLangBarMgr_iface;
LONG refCount;
} LangBarMgr;
+
+static inline LangBarMgr *impl_from_ITfLangBarMgr(ITfLangBarMgr *iface)
+{
+ return CONTAINING_RECORD(iface, LangBarMgr, ITfLangBarMgr_iface);
+}
static void LangBarMgr_Destructor(LangBarMgr *This)
{
@@ -46,7 +51,7 @@
static HRESULT WINAPI LangBarMgr_QueryInterface(ITfLangBarMgr *iface, REFIID iid, LPVOID
*ppvOut)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
*ppvOut = NULL;
if (IsEqualIID(iid, &IID_IUnknown) || IsEqualIID(iid, &IID_ITfLangBarMgr))
@@ -66,13 +71,13 @@
static ULONG WINAPI LangBarMgr_AddRef(ITfLangBarMgr *iface)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
return InterlockedIncrement(&This->refCount);
}
static ULONG WINAPI LangBarMgr_Release(ITfLangBarMgr *iface)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
ULONG ret;
ret = InterlockedDecrement(&This->refCount);
@@ -87,7 +92,7 @@
static HRESULT WINAPI LangBarMgr_AdviseEventSink( ITfLangBarMgr* iface,
ITfLangBarEventSink *pSink, HWND hwnd, DWORD dwflags, DWORD *pdwCookie)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
@@ -95,7 +100,7 @@
static HRESULT WINAPI LangBarMgr_UnAdviseEventSink( ITfLangBarMgr* iface, DWORD
dwCookie)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
@@ -103,7 +108,7 @@
static HRESULT WINAPI LangBarMgr_GetThreadMarshalInterface( ITfLangBarMgr* iface, DWORD
dwThreadId, DWORD dwType, REFIID riid, IUnknown **ppunk)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
@@ -111,7 +116,7 @@
static HRESULT WINAPI LangBarMgr_GetThreadLangBarItemMgr( ITfLangBarMgr* iface, DWORD
dwThreadId, ITfLangBarItemMgr **pplbi, DWORD *pdwThreadid)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
@@ -119,7 +124,7 @@
static HRESULT WINAPI LangBarMgr_GetInputProcessorProfiles( ITfLangBarMgr* iface, DWORD
dwThreadId, ITfInputProcessorProfiles **ppaip, DWORD *pdwThreadid)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
@@ -127,7 +132,7 @@
static HRESULT WINAPI LangBarMgr_RestoreLastFocus( ITfLangBarMgr* iface, DWORD
*dwThreadId, BOOL fPrev)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
@@ -135,7 +140,7 @@
static HRESULT WINAPI LangBarMgr_SetModalInput( ITfLangBarMgr* iface, ITfLangBarEventSink
*pSink, DWORD dwThreadId, DWORD dwFlags)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
@@ -143,7 +148,7 @@
static HRESULT WINAPI LangBarMgr_ShowFloating( ITfLangBarMgr* iface, DWORD dwFlags)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
@@ -151,7 +156,7 @@
static HRESULT WINAPI LangBarMgr_GetShowFloatingStatus( ITfLangBarMgr* iface, DWORD
*pdwFlags)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
@@ -184,7 +189,7 @@
if (This == NULL)
return E_OUTOFMEMORY;
- This->LangBarMgrVtbl= &LangBarMgr_LangBarMgrVtbl;
+ This->ITfLangBarMgr_iface.lpVtbl = &LangBarMgr_LangBarMgrVtbl;
This->refCount = 1;
TRACE("returning %p\n", This);
Modified: trunk/reactos/dll/win32/msctf/msctf.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msctf/msctf.c?re…
==============================================================================
--- trunk/reactos/dll/win32/msctf/msctf.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msctf/msctf.c [iso-8859-1] Fri Jan 27 17:31:52 2012
@@ -33,6 +33,7 @@
#include "shlwapi.h"
#include "shlguid.h"
#include "comcat.h"
+#include "rpcproxy.h"
#include "msctf.h"
#include "msctf_internal.h"
@@ -94,10 +95,15 @@
typedef struct tagClassFactory
{
- const IClassFactoryVtbl *vtbl;
+ IClassFactory IClassFactory_iface;
LONG ref;
LPFNCONSTRUCTOR ctor;
} ClassFactory;
+
+static inline ClassFactory *impl_from_IClassFactory(IClassFactory *iface)
+{
+ return CONTAINING_RECORD(iface, ClassFactory, IClassFactory_iface);
+}
static void ClassFactory_Destructor(ClassFactory *This)
{
@@ -121,13 +127,13 @@
static ULONG WINAPI ClassFactory_AddRef(IClassFactory *iface)
{
- ClassFactory *This = (ClassFactory *)iface;
+ ClassFactory *This = impl_from_IClassFactory(iface);
return InterlockedIncrement(&This->ref);
}
static ULONG WINAPI ClassFactory_Release(IClassFactory *iface)
{
- ClassFactory *This = (ClassFactory *)iface;
+ ClassFactory *This = impl_from_IClassFactory(iface);
ULONG ret = InterlockedDecrement(&This->ref);
if (ret == 0)
@@ -137,7 +143,7 @@
static HRESULT WINAPI ClassFactory_CreateInstance(IClassFactory *iface, IUnknown
*punkOuter, REFIID iid, LPVOID *ppvOut)
{
- ClassFactory *This = (ClassFactory *)iface;
+ ClassFactory *This = impl_from_IClassFactory(iface);
HRESULT ret;
IUnknown *obj;
@@ -152,7 +158,7 @@
static HRESULT WINAPI ClassFactory_LockServer(IClassFactory *iface, BOOL fLock)
{
- ClassFactory *This = (ClassFactory *)iface;
+ ClassFactory *This = impl_from_IClassFactory(iface);
TRACE("(%p)->(%x)\n", This, fLock);
@@ -178,7 +184,7 @@
static HRESULT ClassFactory_Constructor(LPFNCONSTRUCTOR ctor, LPVOID *ppvOut)
{
ClassFactory *This = HeapAlloc(GetProcessHeap(),0,sizeof(ClassFactory));
- This->vtbl = &ClassFactoryVtbl;
+ This->IClassFactory_iface.lpVtbl = &ClassFactoryVtbl;
This->ref = 1;
This->ctor = ctor;
*ppvOut = This;
@@ -554,6 +560,22 @@
}
/***********************************************************************
+ * DllRegisterServer (MSCTF.@)
+ */
+HRESULT WINAPI DllRegisterServer(void)
+{
+ return __wine_register_resources( MSCTF_hinstance );
+}
+
+/***********************************************************************
+ * DllUnregisterServer (MSCTF.@)
+ */
+HRESULT WINAPI DllUnregisterServer(void)
+{
+ return __wine_unregister_resources( MSCTF_hinstance );
+}
+
+/***********************************************************************
* TF_CreateThreadMgr (MSCTF.@)
*/
HRESULT WINAPI TF_CreateThreadMgr(ITfThreadMgr **pptim)
Modified: trunk/reactos/dll/win32/msctf/msctf.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msctf/msctf.rbui…
==============================================================================
--- trunk/reactos/dll/win32/msctf/msctf.rbuild [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msctf/msctf.rbuild [iso-8859-1] Fri Jan 27 17:31:52 2012
@@ -17,7 +17,6 @@
<file>langbarmgr.c</file>
<file>msctf.c</file>
<file>range.c</file>
- <file>regsvr.c</file>
<file>threadmgr.c</file>
<file>version.rc</file>
<library>wine</library>
Added: trunk/reactos/dll/win32/msctf/msctf.rgs
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msctf/msctf.rgs?…
==============================================================================
--- trunk/reactos/dll/win32/msctf/msctf.rgs (added)
+++ trunk/reactos/dll/win32/msctf/msctf.rgs [iso-8859-1] Fri Jan 27 17:31:52 2012
@@ -1,0 +1,29 @@
+HKCR
+{
+ NoRemove Interface
+ {
+ }
+ NoRemove CLSID
+ {
+ '{529A9E6B-6587-4F23-AB9E-9C7D683E3C50}' = s 'TF_ThreadMgr'
+ {
+ InprocServer32 = s '%MODULE%' { val ThreadingModel = s
'Apartment' }
+ }
+ '{33C53A50-F456-4884-B049-85FD643ECFED}' = s
'TF_InputProcessorProfiles'
+ {
+ InprocServer32 = s '%MODULE%' { val ThreadingModel = s
'Apartment' }
+ }
+ '{A4B544A1-438D-4B41-9325-869523E2D6C7}' = s 'TF_CategoryMgr'
+ {
+ InprocServer32 = s '%MODULE%' { val ThreadingModel = s
'Apartment' }
+ }
+ '{EBB08C45-6C4A-4FDC-AE53-4EB8C4C7DB8E}' = s 'TF_LangBarMgr'
+ {
+ InprocServer32 = s '%MODULE%' { val ThreadingModel = s
'Apartment' }
+ }
+ '{3CE74DE4-53D3-4D74-8B83-431B3828BA53}' = s
'TF_DisplayAttributeMgr'
+ {
+ InprocServer32 = s '%MODULE%' { val ThreadingModel = s
'Apartment' }
+ }
+ }
+}
Propchange: trunk/reactos/dll/win32/msctf/msctf.rgs
------------------------------------------------------------------------------
svn:eol-style = native
Added: trunk/reactos/dll/win32/msctf/msctf_classes.idl
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msctf/msctf_clas…
==============================================================================
--- trunk/reactos/dll/win32/msctf/msctf_classes.idl (added)
+++ trunk/reactos/dll/win32/msctf/msctf_classes.idl [iso-8859-1] Fri Jan 27 17:31:52 2012
@@ -1,0 +1,49 @@
+/*
+ * COM Classes for msctf
+ *
+ * Copyright 2010 Alexandre Julliard
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+[
+ threading(apartment),
+ uuid(529a9e6b-6587-4f23-ab9e-9c7d683e3c50)
+]
+coclass TF_ThreadMgr { interface ITfThreadMgr; }
+
+[
+ threading(apartment),
+ uuid(33c53a50-f456-4884-b049-85fd643ecfed)
+]
+coclass TF_InputProcessorProfiles { interface ITfInputProcessorProfiles; }
+
+[
+ threading(apartment),
+ uuid(a4b544a1-438d-4b41-9325-869523e2d6c7)
+]
+coclass TF_CategoryMgr { interface ITfCategoryMgr; }
+
+[
+ threading(apartment),
+ uuid(ebb08c45-6c4a-4fdc-ae53-4eb8c4c7db8e)
+]
+coclass TF_LangBarMgr { interface ITfLangBarMgr; }
+
+[
+ threading(apartment),
+ uuid(3ce74de4-53d3-4d74-8b83-431b3828ba53)
+]
+coclass TF_DisplayAttributeMgr { interface ITfDisplayAttributeMgr; }
Propchange: trunk/reactos/dll/win32/msctf/msctf_classes.idl
------------------------------------------------------------------------------
svn:eol-style = native
Modified: trunk/reactos/dll/win32/msctf/msctf_internal.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msctf/msctf_inte…
==============================================================================
--- trunk/reactos/dll/win32/msctf/msctf_internal.h [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msctf/msctf_internal.h [iso-8859-1] Fri Jan 27 17:31:52 2012
@@ -28,42 +28,42 @@
#define COOKIE_MAGIC_EDITCOOKIE 0x0050
#define COOKIE_MAGIC_COMPARTMENTSINK 0x0060
-extern DWORD tlsIndex;
-extern TfClientId processId;
-extern ITfCompartmentMgr *globalCompartmentMgr;
+extern DWORD tlsIndex DECLSPEC_HIDDEN;
+extern TfClientId processId DECLSPEC_HIDDEN;
+extern ITfCompartmentMgr *globalCompartmentMgr DECLSPEC_HIDDEN;
-extern HRESULT ThreadMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut);
-extern HRESULT DocumentMgr_Constructor(ITfThreadMgrEventSink*, ITfDocumentMgr **ppOut);
-extern HRESULT Context_Constructor(TfClientId tidOwner, IUnknown *punk, ITfDocumentMgr
*mgr, ITfContext **ppOut, TfEditCookie *pecTextStore);
-extern HRESULT InputProcessorProfiles_Constructor(IUnknown *pUnkOuter, IUnknown
**ppOut);
-extern HRESULT CategoryMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut);
-extern HRESULT Range_Constructor(ITfContext *context, ITextStoreACP *textstore, DWORD
lockType, DWORD anchorStart, DWORD anchorEnd, ITfRange **ppOut);
-extern HRESULT CompartmentMgr_Constructor(IUnknown *pUnkOuter, REFIID riid, IUnknown
**ppOut);
-extern HRESULT CompartmentMgr_Destructor(ITfCompartmentMgr *This);
-extern HRESULT LangBarMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut);
-extern HRESULT DisplayAttributeMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut);
+extern HRESULT ThreadMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
DECLSPEC_HIDDEN;
+extern HRESULT DocumentMgr_Constructor(ITfThreadMgrEventSink*, ITfDocumentMgr **ppOut)
DECLSPEC_HIDDEN;
+extern HRESULT Context_Constructor(TfClientId tidOwner, IUnknown *punk, ITfDocumentMgr
*mgr, ITfContext **ppOut, TfEditCookie *pecTextStore) DECLSPEC_HIDDEN;
+extern HRESULT InputProcessorProfiles_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
DECLSPEC_HIDDEN;
+extern HRESULT CategoryMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
DECLSPEC_HIDDEN;
+extern HRESULT Range_Constructor(ITfContext *context, ITextStoreACP *textstore, DWORD
lockType, DWORD anchorStart, DWORD anchorEnd, ITfRange **ppOut) DECLSPEC_HIDDEN;
+extern HRESULT CompartmentMgr_Constructor(IUnknown *pUnkOuter, REFIID riid, IUnknown
**ppOut) DECLSPEC_HIDDEN;
+extern HRESULT CompartmentMgr_Destructor(ITfCompartmentMgr *This) DECLSPEC_HIDDEN;
+extern HRESULT LangBarMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
DECLSPEC_HIDDEN;
+extern HRESULT DisplayAttributeMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
DECLSPEC_HIDDEN;
-extern HRESULT Context_Initialize(ITfContext *cxt, ITfDocumentMgr *manager);
-extern HRESULT Context_Uninitialize(ITfContext *cxt);
-extern void ThreadMgr_OnDocumentMgrDestruction(ITfThreadMgr *tm, ITfDocumentMgr
*mgr);
-extern HRESULT TF_SELECTION_to_TS_SELECTION_ACP(const TF_SELECTION *tf, TS_SELECTION_ACP
*tsAcp);
+extern HRESULT Context_Initialize(ITfContext *cxt, ITfDocumentMgr *manager)
DECLSPEC_HIDDEN;
+extern HRESULT Context_Uninitialize(ITfContext *cxt) DECLSPEC_HIDDEN;
+extern void ThreadMgr_OnDocumentMgrDestruction(ITfThreadMgr *tm, ITfDocumentMgr *mgr)
DECLSPEC_HIDDEN;
+extern HRESULT TF_SELECTION_to_TS_SELECTION_ACP(const TF_SELECTION *tf, TS_SELECTION_ACP
*tsAcp) DECLSPEC_HIDDEN;
/* cookie function */
-extern DWORD generate_Cookie(DWORD magic, LPVOID data);
-extern DWORD get_Cookie_magic(DWORD id);
-extern LPVOID get_Cookie_data(DWORD id);
-extern LPVOID remove_Cookie(DWORD id);
-extern DWORD enumerate_Cookie(DWORD magic, DWORD *index);
+extern DWORD generate_Cookie(DWORD magic, LPVOID data) DECLSPEC_HIDDEN;
+extern DWORD get_Cookie_magic(DWORD id) DECLSPEC_HIDDEN;
+extern LPVOID get_Cookie_data(DWORD id) DECLSPEC_HIDDEN;
+extern LPVOID remove_Cookie(DWORD id) DECLSPEC_HIDDEN;
+extern DWORD enumerate_Cookie(DWORD magic, DWORD *index) DECLSPEC_HIDDEN;
/* activated text services functions */
-extern HRESULT add_active_textservice(TF_LANGUAGEPROFILE *lp);
-extern BOOL get_active_textservice(REFCLSID rclsid, TF_LANGUAGEPROFILE *lp);
-extern HRESULT activate_textservices(ITfThreadMgr *tm);
-extern HRESULT deactivate_textservices(void);
+extern HRESULT add_active_textservice(TF_LANGUAGEPROFILE *lp) DECLSPEC_HIDDEN;
+extern BOOL get_active_textservice(REFCLSID rclsid, TF_LANGUAGEPROFILE *lp)
DECLSPEC_HIDDEN;
+extern HRESULT activate_textservices(ITfThreadMgr *tm) DECLSPEC_HIDDEN;
+extern HRESULT deactivate_textservices(void) DECLSPEC_HIDDEN;
-extern CLSID get_textservice_clsid(TfClientId tid);
-extern HRESULT get_textservice_sink(TfClientId tid, REFCLSID iid, IUnknown** sink);
-extern HRESULT set_textservice_sink(TfClientId tid, REFCLSID iid, IUnknown* sink);
+extern CLSID get_textservice_clsid(TfClientId tid) DECLSPEC_HIDDEN;
+extern HRESULT get_textservice_sink(TfClientId tid, REFCLSID iid, IUnknown** sink)
DECLSPEC_HIDDEN;
+extern HRESULT set_textservice_sink(TfClientId tid, REFCLSID iid, IUnknown* sink)
DECLSPEC_HIDDEN;
extern const WCHAR szwSystemTIPKey[];
extern const WCHAR szwSystemCTFKey[];
Modified: trunk/reactos/dll/win32/msctf/range.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msctf/range.c?re…
==============================================================================
--- trunk/reactos/dll/win32/msctf/range.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msctf/range.c [iso-8859-1] Fri Jan 27 17:31:52 2012
@@ -41,7 +41,7 @@
WINE_DEFAULT_DEBUG_CHANNEL(msctf);
typedef struct tagRange {
- const ITfRangeVtbl *RangeVtbl;
+ ITfRange ITfRange_iface;
/* const ITfRangeACPVtb *RangeACPVtbl; */
LONG refCount;
@@ -54,6 +54,11 @@
} Range;
+static inline Range *impl_from_ITfRange(ITfRange *iface)
+{
+ return CONTAINING_RECORD(iface, Range, ITfRange_iface);
+}
+
static void Range_Destructor(Range *This)
{
TRACE("destroying %p\n", This);
@@ -62,7 +67,7 @@
static HRESULT WINAPI Range_QueryInterface(ITfRange *iface, REFIID iid, LPVOID *ppvOut)
{
- Range *This = (Range*)iface;
+ Range *This = impl_from_ITfRange(iface);
*ppvOut = NULL;
if (IsEqualIID(iid, &IID_IUnknown) || IsEqualIID(iid, &IID_ITfRange))
@@ -82,13 +87,13 @@
static ULONG WINAPI Range_AddRef(ITfRange *iface)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
return InterlockedIncrement(&This->refCount);
}
static ULONG WINAPI Range_Release(ITfRange *iface)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
ULONG ret;
ret = InterlockedDecrement(&This->refCount);
@@ -104,7 +109,7 @@
static HRESULT WINAPI Range_GetText(ITfRange *iface, TfEditCookie ec,
DWORD dwFlags, WCHAR *pchText, ULONG cchMax, ULONG *pcch)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -112,7 +117,7 @@
static HRESULT WINAPI Range_SetText(ITfRange *iface, TfEditCookie ec,
DWORD dwFlags, const WCHAR *pchText, LONG cch)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -120,7 +125,7 @@
static HRESULT WINAPI Range_GetFormattedText(ITfRange *iface, TfEditCookie ec,
IDataObject **ppDataObject)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -128,7 +133,7 @@
static HRESULT WINAPI Range_GetEmbedded(ITfRange *iface, TfEditCookie ec,
REFGUID rguidService, REFIID riid, IUnknown **ppunk)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -136,7 +141,7 @@
static HRESULT WINAPI Range_InsertEmbedded(ITfRange *iface, TfEditCookie ec,
DWORD dwFlags, IDataObject *pDataObject)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -144,7 +149,7 @@
static HRESULT WINAPI Range_ShiftStart(ITfRange *iface, TfEditCookie ec,
LONG cchReq, LONG *pcch, const TF_HALTCOND *pHalt)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -152,7 +157,7 @@
static HRESULT WINAPI Range_ShiftEnd(ITfRange *iface, TfEditCookie ec,
LONG cchReq, LONG *pcch, const TF_HALTCOND *pHalt)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -160,7 +165,7 @@
static HRESULT WINAPI Range_ShiftStartToRange(ITfRange *iface, TfEditCookie ec,
ITfRange *pRange, TfAnchor aPos)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -168,7 +173,7 @@
static HRESULT WINAPI Range_ShiftEndToRange(ITfRange *iface, TfEditCookie ec,
ITfRange *pRange, TfAnchor aPos)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -176,7 +181,7 @@
static HRESULT WINAPI Range_ShiftStartRegion(ITfRange *iface, TfEditCookie ec,
TfShiftDir dir, BOOL *pfNoRegion)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -184,7 +189,7 @@
static HRESULT WINAPI Range_ShiftEndRegion(ITfRange *iface, TfEditCookie ec,
TfShiftDir dir, BOOL *pfNoRegion)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -192,7 +197,7 @@
static HRESULT WINAPI Range_IsEmpty(ITfRange *iface, TfEditCookie ec,
BOOL *pfEmpty)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -200,7 +205,7 @@
static HRESULT WINAPI Range_Collapse(ITfRange *iface, TfEditCookie ec,
TfAnchor aPos)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
TRACE("(%p) %i %i\n",This,ec,aPos);
switch (aPos)
@@ -221,7 +226,7 @@
static HRESULT WINAPI Range_IsEqualStart(ITfRange *iface, TfEditCookie ec,
ITfRange *pWith, TfAnchor aPos, BOOL *pfEqual)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -229,7 +234,7 @@
static HRESULT WINAPI Range_IsEqualEnd(ITfRange *iface, TfEditCookie ec,
ITfRange *pWith, TfAnchor aPos, BOOL *pfEqual)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -237,7 +242,7 @@
static HRESULT WINAPI Range_CompareStart(ITfRange *iface, TfEditCookie ec,
ITfRange *pWith, TfAnchor aPos, LONG *plResult)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -245,7 +250,7 @@
static HRESULT WINAPI Range_CompareEnd(ITfRange *iface, TfEditCookie ec,
ITfRange *pWith, TfAnchor aPos, LONG *plResult)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -253,7 +258,7 @@
static HRESULT WINAPI Range_AdjustForInsert(ITfRange *iface, TfEditCookie ec,
ULONG cchInsert, BOOL *pfInsertOk)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -261,7 +266,7 @@
static HRESULT WINAPI Range_GetGravity(ITfRange *iface,
TfGravity *pgStart, TfGravity *pgEnd)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
@@ -269,21 +274,21 @@
static HRESULT WINAPI Range_SetGravity(ITfRange *iface, TfEditCookie ec,
TfGravity gStart, TfGravity gEnd)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI Range_Clone(ITfRange *iface, ITfRange **ppClone)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI Range_GetContext(ITfRange *iface, ITfContext **ppContext)
{
- Range *This = (Range *)iface;
+ Range *This = impl_from_ITfRange(iface);
TRACE("(%p)\n",This);
if (!ppContext)
return E_INVALIDARG;
@@ -331,7 +336,7 @@
TRACE("(%p) %p %p\n",This, context, textstore);
- This->RangeVtbl= &Range_RangeVtbl;
+ This->ITfRange_iface.lpVtbl = &Range_RangeVtbl;
This->refCount = 1;
This->pITfContext = context;
This->pITextStoreACP = textstore;
@@ -339,7 +344,7 @@
This->anchorStart = anchorStart;
This->anchorEnd = anchorEnd;
- *ppOut = (ITfRange*)This;
+ *ppOut = &This->ITfRange_iface;
TRACE("returning %p\n", This);
return S_OK;
Modified: trunk/reactos/dll/win32/msctf/threadmgr.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msctf/threadmgr.…
==============================================================================
--- trunk/reactos/dll/win32/msctf/threadmgr.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msctf/threadmgr.c [iso-8859-1] Fri Jan 27 17:31:52 2012
@@ -1313,7 +1313,7 @@
}
/**************************************************
- * IEnumTfDocumentMgrs implementaion
+ * IEnumTfDocumentMgrs implementation
**************************************************/
static void EnumTfDocumentMgr_Destructor(EnumTfDocumentMgr *This)
{
@@ -1470,5 +1470,5 @@
return;
}
}
- FIXME("ITfDocumenMgr %p not found in this thread\n",mgr);
-}
+ FIXME("ITfDocumentMgr %p not found in this thread\n",mgr);
+}
Modified: trunk/reactos/dll/win32/msctf/version.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msctf/version.rc…
==============================================================================
--- trunk/reactos/dll/win32/msctf/version.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msctf/version.rc [iso-8859-1] Fri Jan 27 17:31:52 2012
@@ -16,6 +16,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
+1 WINE_REGISTRY msctf.rgs
+
#define WINE_FILEDESCRIPTION_STR "Wine Msctf"
#define WINE_FILENAME_STR "msctf.dll"
#define WINE_FILEVERSION 5,1,2600,3319
Modified: trunk/reactos/media/doc/README.WINE
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=…
==============================================================================
--- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original)
+++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Fri Jan 27 17:31:52 2012
@@ -96,7 +96,7 @@
reactos/dll/win32/mscat32 # Autosync
reactos/dll/win32/mscms # Synced to Wine-1.3.37
reactos/dll/win32/mscoree # Autosync
-reactos/dll/win32/msctf # Autosync
+reactos/dll/win32/msctf # Synced to Wine-1.3.37
reactos/dll/win32/msftedit # Synced to Wine-1.3.37
reactos/dll/win32/msg711.acm # Synced to Wine-1.3.37
reactos/dll/win32/msgsm32.acm # Autosync