mirror of
https://github.com/reactos/reactos.git
synced 2024-09-28 13:34:53 +00:00
[MSCTF] Sync with Wine Staging 4.18. CORE-16441
This commit is contained in:
parent
4c4918afe9
commit
ac50127e48
|
@ -18,9 +18,10 @@
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
#ifdef __REACTOS__
|
||||||
|
#include <wchar.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#define COBJMACROS
|
#define COBJMACROS
|
||||||
|
|
||||||
|
@ -33,7 +34,6 @@
|
||||||
#include "winerror.h"
|
#include "winerror.h"
|
||||||
#include "objbase.h"
|
#include "objbase.h"
|
||||||
|
|
||||||
#include "wine/unicode.h"
|
|
||||||
|
|
||||||
#include "msctf.h"
|
#include "msctf.h"
|
||||||
#include "msctf_internal.h"
|
#include "msctf_internal.h"
|
||||||
|
@ -115,7 +115,7 @@ static HRESULT WINAPI CategoryMgr_RegisterCategory ( ITfCategoryMgr *iface,
|
||||||
TRACE("(%p) %s %s %s\n",This,debugstr_guid(rclsid), debugstr_guid(rcatid), debugstr_guid(rguid));
|
TRACE("(%p) %s %s %s\n",This,debugstr_guid(rclsid), debugstr_guid(rcatid), debugstr_guid(rguid));
|
||||||
|
|
||||||
StringFromGUID2(rclsid, buf, 39);
|
StringFromGUID2(rclsid, buf, 39);
|
||||||
sprintfW(fullkey,fmt,szwSystemTIPKey,buf);
|
swprintf(fullkey,fmt,szwSystemTIPKey,buf);
|
||||||
|
|
||||||
if (RegOpenKeyExW(HKEY_LOCAL_MACHINE,fullkey, 0, KEY_READ | KEY_WRITE,
|
if (RegOpenKeyExW(HKEY_LOCAL_MACHINE,fullkey, 0, KEY_READ | KEY_WRITE,
|
||||||
&tipkey ) != ERROR_SUCCESS)
|
&tipkey ) != ERROR_SUCCESS)
|
||||||
|
@ -123,7 +123,7 @@ static HRESULT WINAPI CategoryMgr_RegisterCategory ( ITfCategoryMgr *iface,
|
||||||
|
|
||||||
StringFromGUID2(rcatid, buf, 39);
|
StringFromGUID2(rcatid, buf, 39);
|
||||||
StringFromGUID2(rguid, buf2, 39);
|
StringFromGUID2(rguid, buf2, 39);
|
||||||
sprintfW(fullkey,fmt2,ctg,ctg,buf,buf2);
|
swprintf(fullkey,fmt2,ctg,ctg,buf,buf2);
|
||||||
|
|
||||||
res = RegCreateKeyExW(tipkey, fullkey, 0, NULL, 0, KEY_READ | KEY_WRITE,
|
res = RegCreateKeyExW(tipkey, fullkey, 0, NULL, 0, KEY_READ | KEY_WRITE,
|
||||||
NULL, &catkey, NULL);
|
NULL, &catkey, NULL);
|
||||||
|
@ -131,7 +131,7 @@ static HRESULT WINAPI CategoryMgr_RegisterCategory ( ITfCategoryMgr *iface,
|
||||||
|
|
||||||
if (!res)
|
if (!res)
|
||||||
{
|
{
|
||||||
sprintfW(fullkey,fmt2,ctg,itm,buf2,buf);
|
swprintf(fullkey,fmt2,ctg,itm,buf2,buf);
|
||||||
res = RegCreateKeyExW(tipkey, fullkey, 0, NULL, 0, KEY_READ | KEY_WRITE,
|
res = RegCreateKeyExW(tipkey, fullkey, 0, NULL, 0, KEY_READ | KEY_WRITE,
|
||||||
NULL, &itmkey, NULL);
|
NULL, &itmkey, NULL);
|
||||||
|
|
||||||
|
@ -163,7 +163,7 @@ static HRESULT WINAPI CategoryMgr_UnregisterCategory ( ITfCategoryMgr *iface,
|
||||||
TRACE("(%p) %s %s %s\n",This,debugstr_guid(rclsid), debugstr_guid(rcatid), debugstr_guid(rguid));
|
TRACE("(%p) %s %s %s\n",This,debugstr_guid(rclsid), debugstr_guid(rcatid), debugstr_guid(rguid));
|
||||||
|
|
||||||
StringFromGUID2(rclsid, buf, 39);
|
StringFromGUID2(rclsid, buf, 39);
|
||||||
sprintfW(fullkey,fmt,szwSystemTIPKey,buf);
|
swprintf(fullkey,fmt,szwSystemTIPKey,buf);
|
||||||
|
|
||||||
if (RegOpenKeyExW(HKEY_LOCAL_MACHINE,fullkey, 0, KEY_READ | KEY_WRITE,
|
if (RegOpenKeyExW(HKEY_LOCAL_MACHINE,fullkey, 0, KEY_READ | KEY_WRITE,
|
||||||
&tipkey ) != ERROR_SUCCESS)
|
&tipkey ) != ERROR_SUCCESS)
|
||||||
|
@ -171,11 +171,9 @@ static HRESULT WINAPI CategoryMgr_UnregisterCategory ( ITfCategoryMgr *iface,
|
||||||
|
|
||||||
StringFromGUID2(rcatid, buf, 39);
|
StringFromGUID2(rcatid, buf, 39);
|
||||||
StringFromGUID2(rguid, buf2, 39);
|
StringFromGUID2(rguid, buf2, 39);
|
||||||
sprintfW(fullkey,fmt2,ctg,ctg,buf,buf2);
|
swprintf(fullkey,fmt2,ctg,ctg,buf,buf2);
|
||||||
|
|
||||||
sprintfW(fullkey,fmt2,ctg,itm,buf2,buf);
|
|
||||||
RegDeleteTreeW(tipkey, fullkey);
|
RegDeleteTreeW(tipkey, fullkey);
|
||||||
sprintfW(fullkey,fmt2,ctg,itm,buf2,buf);
|
swprintf(fullkey,fmt2,ctg,itm,buf2,buf);
|
||||||
RegDeleteTreeW(tipkey, fullkey);
|
RegDeleteTreeW(tipkey, fullkey);
|
||||||
|
|
||||||
RegCloseKey(tipkey);
|
RegCloseKey(tipkey);
|
||||||
|
@ -216,7 +214,7 @@ static HRESULT WINAPI CategoryMgr_FindClosestCategory ( ITfCategoryMgr *iface,
|
||||||
return E_INVALIDARG;
|
return E_INVALIDARG;
|
||||||
|
|
||||||
StringFromGUID2(rguid, buf, 39);
|
StringFromGUID2(rguid, buf, 39);
|
||||||
sprintfW(fullkey,fmt,szwSystemTIPKey,buf,buf);
|
swprintf(fullkey,fmt,szwSystemTIPKey,buf,buf);
|
||||||
*pcatid = GUID_NULL;
|
*pcatid = GUID_NULL;
|
||||||
|
|
||||||
if (RegOpenKeyExW(HKEY_LOCAL_MACHINE,fullkey, 0, KEY_READ, &key ) !=
|
if (RegOpenKeyExW(HKEY_LOCAL_MACHINE,fullkey, 0, KEY_READ, &key ) !=
|
||||||
|
|
|
@ -18,8 +18,6 @@
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
#define COBJMACROS
|
#define COBJMACROS
|
||||||
|
@ -35,8 +33,6 @@
|
||||||
#include "oleauto.h"
|
#include "oleauto.h"
|
||||||
#include "olectl.h"
|
#include "olectl.h"
|
||||||
|
|
||||||
#include "wine/unicode.h"
|
|
||||||
|
|
||||||
#include "msctf.h"
|
#include "msctf.h"
|
||||||
#include "msctf_internal.h"
|
#include "msctf_internal.h"
|
||||||
|
|
||||||
|
|
|
@ -18,8 +18,6 @@
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
#define COBJMACROS
|
#define COBJMACROS
|
||||||
|
@ -34,8 +32,6 @@
|
||||||
#include "objbase.h"
|
#include "objbase.h"
|
||||||
#include "olectl.h"
|
#include "olectl.h"
|
||||||
|
|
||||||
#include "wine/unicode.h"
|
|
||||||
|
|
||||||
#include "msctf.h"
|
#include "msctf.h"
|
||||||
#include "msctf_internal.h"
|
#include "msctf_internal.h"
|
||||||
|
|
||||||
|
@ -45,7 +41,7 @@ typedef struct tagContext {
|
||||||
ITfContext ITfContext_iface;
|
ITfContext ITfContext_iface;
|
||||||
ITfSource ITfSource_iface;
|
ITfSource ITfSource_iface;
|
||||||
/* const ITfContextCompositionVtbl *ContextCompositionVtbl; */
|
/* const ITfContextCompositionVtbl *ContextCompositionVtbl; */
|
||||||
/* const ITfContextOwnerCompositionServicesVtbl *ContextOwnerCompositionServicesVtbl; */
|
ITfContextOwnerCompositionServices ITfContextOwnerCompositionServices_iface;
|
||||||
/* const ITfContextOwnerServicesVtbl *ContextOwnerServicesVtbl; */
|
/* const ITfContextOwnerServicesVtbl *ContextOwnerServicesVtbl; */
|
||||||
ITfInsertAtSelection ITfInsertAtSelection_iface;
|
ITfInsertAtSelection ITfInsertAtSelection_iface;
|
||||||
/* const ITfMouseTrackerVtbl *MouseTrackerVtbl; */
|
/* const ITfMouseTrackerVtbl *MouseTrackerVtbl; */
|
||||||
|
@ -93,6 +89,11 @@ static inline Context *impl_from_ITfSource(ITfSource *iface)
|
||||||
return CONTAINING_RECORD(iface, Context, ITfSource_iface);
|
return CONTAINING_RECORD(iface, Context, ITfSource_iface);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline Context *impl_from_ITfContextOwnerCompositionServices(ITfContextOwnerCompositionServices *iface)
|
||||||
|
{
|
||||||
|
return CONTAINING_RECORD(iface, Context, ITfContextOwnerCompositionServices_iface);
|
||||||
|
}
|
||||||
|
|
||||||
static inline Context *impl_from_ITfInsertAtSelection(ITfInsertAtSelection *iface)
|
static inline Context *impl_from_ITfInsertAtSelection(ITfInsertAtSelection *iface)
|
||||||
{
|
{
|
||||||
return CONTAINING_RECORD(iface, Context, ITfInsertAtSelection_iface);
|
return CONTAINING_RECORD(iface, Context, ITfInsertAtSelection_iface);
|
||||||
|
@ -154,6 +155,10 @@ static HRESULT WINAPI Context_QueryInterface(ITfContext *iface, REFIID iid, LPVO
|
||||||
{
|
{
|
||||||
*ppvOut = &This->ITfSource_iface;
|
*ppvOut = &This->ITfSource_iface;
|
||||||
}
|
}
|
||||||
|
else if (IsEqualIID(iid, &IID_ITfContextOwnerCompositionServices))
|
||||||
|
{
|
||||||
|
*ppvOut = &This->ITfContextOwnerCompositionServices_iface;
|
||||||
|
}
|
||||||
else if (IsEqualIID(iid, &IID_ITfInsertAtSelection))
|
else if (IsEqualIID(iid, &IID_ITfInsertAtSelection))
|
||||||
{
|
{
|
||||||
*ppvOut = &This->ITfInsertAtSelection_iface;
|
*ppvOut = &This->ITfInsertAtSelection_iface;
|
||||||
|
@ -530,6 +535,9 @@ static const ITfContextVtbl ContextVtbl =
|
||||||
Context_CreateRangeBackup
|
Context_CreateRangeBackup
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*****************************************************
|
||||||
|
* ITfSource functions
|
||||||
|
*****************************************************/
|
||||||
static HRESULT WINAPI ContextSource_QueryInterface(ITfSource *iface, REFIID iid, LPVOID *ppvOut)
|
static HRESULT WINAPI ContextSource_QueryInterface(ITfSource *iface, REFIID iid, LPVOID *ppvOut)
|
||||||
{
|
{
|
||||||
Context *This = impl_from_ITfSource(iface);
|
Context *This = impl_from_ITfSource(iface);
|
||||||
|
@ -548,9 +556,6 @@ static ULONG WINAPI ContextSource_Release(ITfSource *iface)
|
||||||
return ITfContext_Release(&This->ITfContext_iface);
|
return ITfContext_Release(&This->ITfContext_iface);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************
|
|
||||||
* ITfSource functions
|
|
||||||
*****************************************************/
|
|
||||||
static HRESULT WINAPI ContextSource_AdviseSink(ITfSource *iface,
|
static HRESULT WINAPI ContextSource_AdviseSink(ITfSource *iface,
|
||||||
REFIID riid, IUnknown *punk, DWORD *pdwCookie)
|
REFIID riid, IUnknown *punk, DWORD *pdwCookie)
|
||||||
{
|
{
|
||||||
|
@ -589,6 +594,80 @@ static const ITfSourceVtbl ContextSourceVtbl =
|
||||||
ContextSource_UnadviseSink
|
ContextSource_UnadviseSink
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*****************************************************
|
||||||
|
* ITfContextOwnerCompositionServices functions
|
||||||
|
*****************************************************/
|
||||||
|
static HRESULT WINAPI ContextOwnerCompositionServices_QueryInterface(ITfContextOwnerCompositionServices *iface,
|
||||||
|
REFIID iid, LPVOID *ppvOut)
|
||||||
|
{
|
||||||
|
Context *This = impl_from_ITfContextOwnerCompositionServices(iface);
|
||||||
|
return ITfContext_QueryInterface(&This->ITfContext_iface, iid, ppvOut);
|
||||||
|
}
|
||||||
|
|
||||||
|
static ULONG WINAPI ContextOwnerCompositionServices_AddRef(ITfContextOwnerCompositionServices *iface)
|
||||||
|
{
|
||||||
|
Context *This = impl_from_ITfContextOwnerCompositionServices(iface);
|
||||||
|
return ITfContext_AddRef(&This->ITfContext_iface);
|
||||||
|
}
|
||||||
|
|
||||||
|
static ULONG WINAPI ContextOwnerCompositionServices_Release(ITfContextOwnerCompositionServices *iface)
|
||||||
|
{
|
||||||
|
Context *This = impl_from_ITfContextOwnerCompositionServices(iface);
|
||||||
|
return ITfContext_Release(&This->ITfContext_iface);
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ContextOwnerCompositionServices_StartComposition(ITfContextOwnerCompositionServices *iface,
|
||||||
|
TfEditCookie ecWrite, ITfRange *pCompositionRange, ITfCompositionSink *pSink, ITfComposition **ppComposition)
|
||||||
|
{
|
||||||
|
Context *This = impl_from_ITfContextOwnerCompositionServices(iface);
|
||||||
|
FIXME("STUB:(%p) %#x %p %p %p\n", This, ecWrite, pCompositionRange, pSink, ppComposition);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ContextOwnerCompositionServices_EnumCompositions(ITfContextOwnerCompositionServices *iface,
|
||||||
|
IEnumITfCompositionView **ppEnum)
|
||||||
|
{
|
||||||
|
Context *This = impl_from_ITfContextOwnerCompositionServices(iface);
|
||||||
|
FIXME("STUB:(%p) %p\n", This, ppEnum);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ContextOwnerCompositionServices_FindComposition(ITfContextOwnerCompositionServices *iface,
|
||||||
|
TfEditCookie ecRead, ITfRange *pTestRange, IEnumITfCompositionView **ppEnum)
|
||||||
|
{
|
||||||
|
Context *This = impl_from_ITfContextOwnerCompositionServices(iface);
|
||||||
|
FIXME("STUB:(%p) %#x %p %p\n", This, ecRead, pTestRange, ppEnum);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ContextOwnerCompositionServices_TakeOwnership(ITfContextOwnerCompositionServices *iface,
|
||||||
|
TfEditCookie ecWrite, ITfCompositionView *pComposition, ITfCompositionSink *pSink, ITfComposition **ppComposition)
|
||||||
|
{
|
||||||
|
Context *This = impl_from_ITfContextOwnerCompositionServices(iface);
|
||||||
|
FIXME("STUB:(%p) %#x %p %p %p\n", This, ecWrite, pComposition, pSink, ppComposition);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ContextOwnerCompositionServices_TerminateComposition(ITfContextOwnerCompositionServices *iface,
|
||||||
|
ITfCompositionView *pComposition)
|
||||||
|
{
|
||||||
|
Context *This = impl_from_ITfContextOwnerCompositionServices(iface);
|
||||||
|
FIXME("STUB:(%p) %p\n", This, pComposition);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const ITfContextOwnerCompositionServicesVtbl ContextOwnerCompositionServicesVtbl =
|
||||||
|
{
|
||||||
|
ContextOwnerCompositionServices_QueryInterface,
|
||||||
|
ContextOwnerCompositionServices_AddRef,
|
||||||
|
ContextOwnerCompositionServices_Release,
|
||||||
|
ContextOwnerCompositionServices_StartComposition,
|
||||||
|
ContextOwnerCompositionServices_EnumCompositions,
|
||||||
|
ContextOwnerCompositionServices_FindComposition,
|
||||||
|
ContextOwnerCompositionServices_TakeOwnership,
|
||||||
|
ContextOwnerCompositionServices_TerminateComposition
|
||||||
|
};
|
||||||
|
|
||||||
/*****************************************************
|
/*****************************************************
|
||||||
* ITfInsertAtSelection functions
|
* ITfInsertAtSelection functions
|
||||||
*****************************************************/
|
*****************************************************/
|
||||||
|
@ -852,7 +931,7 @@ static HRESULT WINAPI TextStoreACPSink_OnLockGranted(ITextStoreACPSink *iface,
|
||||||
/*TODO: implement ITfEditRecord */
|
/*TODO: implement ITfEditRecord */
|
||||||
SINK_FOR_EACH(cursor, &This->pTextEditSink, ITfTextEditSink, sink)
|
SINK_FOR_EACH(cursor, &This->pTextEditSink, ITfTextEditSink, sink)
|
||||||
{
|
{
|
||||||
ITfTextEditSink_OnEndEdit(sink, (ITfContext*) &This->ITfContext_iface, sc, NULL);
|
ITfTextEditSink_OnEndEdit(sink, &This->ITfContext_iface, sc, NULL);
|
||||||
}
|
}
|
||||||
sinkcookie = remove_Cookie(sc);
|
sinkcookie = remove_Cookie(sc);
|
||||||
}
|
}
|
||||||
|
@ -985,6 +1064,7 @@ HRESULT Context_Constructor(TfClientId tidOwner, IUnknown *punk, ITfDocumentMgr
|
||||||
|
|
||||||
This->ITfContext_iface.lpVtbl= &ContextVtbl;
|
This->ITfContext_iface.lpVtbl= &ContextVtbl;
|
||||||
This->ITfSource_iface.lpVtbl = &ContextSourceVtbl;
|
This->ITfSource_iface.lpVtbl = &ContextSourceVtbl;
|
||||||
|
This->ITfContextOwnerCompositionServices_iface.lpVtbl = &ContextOwnerCompositionServicesVtbl;
|
||||||
This->ITfInsertAtSelection_iface.lpVtbl = &InsertAtSelectionVtbl;
|
This->ITfInsertAtSelection_iface.lpVtbl = &InsertAtSelectionVtbl;
|
||||||
This->ITfSourceSingle_iface.lpVtbl = &ContextSourceSingleVtbl;
|
This->ITfSourceSingle_iface.lpVtbl = &ContextSourceSingleVtbl;
|
||||||
This->ITextStoreACPSink_iface.lpVtbl = &TextStoreACPSinkVtbl;
|
This->ITextStoreACPSink_iface.lpVtbl = &TextStoreACPSinkVtbl;
|
||||||
|
|
|
@ -18,8 +18,6 @@
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
#define COBJMACROS
|
#define COBJMACROS
|
||||||
|
@ -33,8 +31,6 @@
|
||||||
#include "winerror.h"
|
#include "winerror.h"
|
||||||
#include "objbase.h"
|
#include "objbase.h"
|
||||||
|
|
||||||
#include "wine/unicode.h"
|
|
||||||
|
|
||||||
#include "msctf.h"
|
#include "msctf.h"
|
||||||
#include "msctf_internal.h"
|
#include "msctf_internal.h"
|
||||||
|
|
||||||
|
@ -81,11 +77,15 @@ static inline EnumTfContext *impl_from_IEnumTfContexts(IEnumTfContexts *iface)
|
||||||
|
|
||||||
static void DocumentMgr_Destructor(DocumentMgr *This)
|
static void DocumentMgr_Destructor(DocumentMgr *This)
|
||||||
{
|
{
|
||||||
ITfThreadMgr *tm;
|
ITfThreadMgr *tm = NULL;
|
||||||
TRACE("destroying %p\n", This);
|
TRACE("destroying %p\n", This);
|
||||||
|
|
||||||
TF_GetThreadMgr(&tm);
|
TF_GetThreadMgr(&tm);
|
||||||
ThreadMgr_OnDocumentMgrDestruction(tm, &This->ITfDocumentMgr_iface);
|
if (tm)
|
||||||
|
{
|
||||||
|
ThreadMgr_OnDocumentMgrDestruction(tm, &This->ITfDocumentMgr_iface);
|
||||||
|
ITfThreadMgr_Release(tm);
|
||||||
|
}
|
||||||
|
|
||||||
if (This->contextStack[0])
|
if (This->contextStack[0])
|
||||||
ITfContext_Release(This->contextStack[0]);
|
ITfContext_Release(This->contextStack[0]);
|
||||||
|
|
|
@ -18,8 +18,6 @@
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
#define COBJMACROS
|
#define COBJMACROS
|
||||||
|
@ -29,13 +27,15 @@
|
||||||
#include "winbase.h"
|
#include "winbase.h"
|
||||||
#include "winreg.h"
|
#include "winreg.h"
|
||||||
#include "winuser.h"
|
#include "winuser.h"
|
||||||
|
#ifdef __REACTOS__
|
||||||
|
#include <wchar.h>
|
||||||
|
#include <winnls.h>
|
||||||
|
#endif
|
||||||
#include "shlwapi.h"
|
#include "shlwapi.h"
|
||||||
#include "winerror.h"
|
#include "winerror.h"
|
||||||
#include "objbase.h"
|
#include "objbase.h"
|
||||||
#include "olectl.h"
|
#include "olectl.h"
|
||||||
|
|
||||||
#include "wine/unicode.h"
|
|
||||||
|
|
||||||
#include "msctf.h"
|
#include "msctf.h"
|
||||||
#include "msctf_internal.h"
|
#include "msctf_internal.h"
|
||||||
|
|
||||||
|
@ -230,7 +230,7 @@ static void add_userkey( REFCLSID rclsid, LANGID langid,
|
||||||
|
|
||||||
StringFromGUID2(rclsid, buf, 39);
|
StringFromGUID2(rclsid, buf, 39);
|
||||||
StringFromGUID2(guidProfile, buf2, 39);
|
StringFromGUID2(guidProfile, buf2, 39);
|
||||||
sprintfW(fullkey,szwFullLangfmt,szwSystemTIPKey,buf,szwLngp,langid,buf2);
|
swprintf(fullkey,szwFullLangfmt,szwSystemTIPKey,buf,szwLngp,langid,buf2);
|
||||||
|
|
||||||
res = RegCreateKeyExW(HKEY_CURRENT_USER,fullkey, 0, NULL, 0,
|
res = RegCreateKeyExW(HKEY_CURRENT_USER,fullkey, 0, NULL, 0,
|
||||||
KEY_READ | KEY_WRITE, NULL, &key, &disposition);
|
KEY_READ | KEY_WRITE, NULL, &key, &disposition);
|
||||||
|
@ -303,7 +303,7 @@ static HRESULT WINAPI InputProcessorProfiles_Register(
|
||||||
TRACE("(%p) %s\n",This,debugstr_guid(rclsid));
|
TRACE("(%p) %s\n",This,debugstr_guid(rclsid));
|
||||||
|
|
||||||
StringFromGUID2(rclsid, buf, 39);
|
StringFromGUID2(rclsid, buf, 39);
|
||||||
sprintfW(fullkey,szwTipfmt,szwSystemTIPKey,buf);
|
swprintf(fullkey,szwTipfmt,szwSystemTIPKey,buf);
|
||||||
|
|
||||||
if (RegCreateKeyExW(HKEY_LOCAL_MACHINE,fullkey, 0, NULL, 0,
|
if (RegCreateKeyExW(HKEY_LOCAL_MACHINE,fullkey, 0, NULL, 0,
|
||||||
KEY_READ | KEY_WRITE, NULL, &tipkey, NULL) != ERROR_SUCCESS)
|
KEY_READ | KEY_WRITE, NULL, &tipkey, NULL) != ERROR_SUCCESS)
|
||||||
|
@ -324,7 +324,7 @@ static HRESULT WINAPI InputProcessorProfiles_Unregister(
|
||||||
TRACE("(%p) %s\n",This,debugstr_guid(rclsid));
|
TRACE("(%p) %s\n",This,debugstr_guid(rclsid));
|
||||||
|
|
||||||
StringFromGUID2(rclsid, buf, 39);
|
StringFromGUID2(rclsid, buf, 39);
|
||||||
sprintfW(fullkey,szwTipfmt,szwSystemTIPKey,buf);
|
swprintf(fullkey,szwTipfmt,szwSystemTIPKey,buf);
|
||||||
|
|
||||||
RegDeleteTreeW(HKEY_LOCAL_MACHINE, fullkey);
|
RegDeleteTreeW(HKEY_LOCAL_MACHINE, fullkey);
|
||||||
RegDeleteTreeW(HKEY_CURRENT_USER, fullkey);
|
RegDeleteTreeW(HKEY_CURRENT_USER, fullkey);
|
||||||
|
@ -355,14 +355,14 @@ static HRESULT WINAPI InputProcessorProfiles_AddLanguageProfile(
|
||||||
debugstr_wn(pchIconFile,cchFile),uIconIndex);
|
debugstr_wn(pchIconFile,cchFile),uIconIndex);
|
||||||
|
|
||||||
StringFromGUID2(rclsid, buf, 39);
|
StringFromGUID2(rclsid, buf, 39);
|
||||||
sprintfW(fullkey,szwTipfmt,szwSystemTIPKey,buf);
|
swprintf(fullkey,szwTipfmt,szwSystemTIPKey,buf);
|
||||||
|
|
||||||
if (RegOpenKeyExW(HKEY_LOCAL_MACHINE,fullkey, 0, KEY_READ | KEY_WRITE,
|
if (RegOpenKeyExW(HKEY_LOCAL_MACHINE,fullkey, 0, KEY_READ | KEY_WRITE,
|
||||||
&tipkey ) != ERROR_SUCCESS)
|
&tipkey ) != ERROR_SUCCESS)
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
|
|
||||||
StringFromGUID2(guidProfile, buf, 39);
|
StringFromGUID2(guidProfile, buf, 39);
|
||||||
sprintfW(fullkey,fmt2,szwLngp,langid,buf);
|
swprintf(fullkey,fmt2,szwLngp,langid,buf);
|
||||||
|
|
||||||
res = RegCreateKeyExW(tipkey,fullkey, 0, NULL, 0, KEY_READ | KEY_WRITE,
|
res = RegCreateKeyExW(tipkey,fullkey, 0, NULL, 0, KEY_READ | KEY_WRITE,
|
||||||
NULL, &fmtkey, &disposition);
|
NULL, &fmtkey, &disposition);
|
||||||
|
@ -421,7 +421,7 @@ static HRESULT WINAPI InputProcessorProfiles_GetDefaultLanguageProfile(
|
||||||
return E_INVALIDARG;
|
return E_INVALIDARG;
|
||||||
|
|
||||||
StringFromGUID2(catid, buf, 39);
|
StringFromGUID2(catid, buf, 39);
|
||||||
sprintfW(fullkey, szwDefaultFmt, szwSystemCTFKey, szwAssemblies, langid, buf);
|
swprintf(fullkey, szwDefaultFmt, szwSystemCTFKey, szwAssemblies, langid, buf);
|
||||||
|
|
||||||
if (RegOpenKeyExW(HKEY_CURRENT_USER, fullkey, 0, KEY_READ | KEY_WRITE,
|
if (RegOpenKeyExW(HKEY_CURRENT_USER, fullkey, 0, KEY_READ | KEY_WRITE,
|
||||||
&hkey ) != ERROR_SUCCESS)
|
&hkey ) != ERROR_SUCCESS)
|
||||||
|
@ -480,7 +480,7 @@ static HRESULT WINAPI InputProcessorProfiles_SetDefaultLanguageProfile(
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
|
|
||||||
StringFromGUID2(&catid, buf, 39);
|
StringFromGUID2(&catid, buf, 39);
|
||||||
sprintfW(fullkey, szwDefaultFmt, szwSystemCTFKey, szwAssemblies, langid, buf);
|
swprintf(fullkey, szwDefaultFmt, szwSystemCTFKey, szwAssemblies, langid, buf);
|
||||||
|
|
||||||
if (RegCreateKeyExW(HKEY_CURRENT_USER, fullkey, 0, NULL, 0, KEY_READ | KEY_WRITE,
|
if (RegCreateKeyExW(HKEY_CURRENT_USER, fullkey, 0, NULL, 0, KEY_READ | KEY_WRITE,
|
||||||
NULL, &hkey, NULL ) != ERROR_SUCCESS)
|
NULL, &hkey, NULL ) != ERROR_SUCCESS)
|
||||||
|
@ -644,7 +644,7 @@ static HRESULT WINAPI InputProcessorProfiles_EnableLanguageProfile(
|
||||||
|
|
||||||
StringFromGUID2(rclsid, buf, 39);
|
StringFromGUID2(rclsid, buf, 39);
|
||||||
StringFromGUID2(guidProfile, buf2, 39);
|
StringFromGUID2(guidProfile, buf2, 39);
|
||||||
sprintfW(fullkey,szwFullLangfmt,szwSystemTIPKey,buf,szwLngp,langid,buf2);
|
swprintf(fullkey,szwFullLangfmt,szwSystemTIPKey,buf,szwLngp,langid,buf2);
|
||||||
|
|
||||||
res = RegOpenKeyExW(HKEY_CURRENT_USER, fullkey, 0, KEY_READ | KEY_WRITE, &key);
|
res = RegOpenKeyExW(HKEY_CURRENT_USER, fullkey, 0, KEY_READ | KEY_WRITE, &key);
|
||||||
|
|
||||||
|
@ -677,7 +677,7 @@ static HRESULT WINAPI InputProcessorProfiles_IsEnabledLanguageProfile(
|
||||||
|
|
||||||
StringFromGUID2(rclsid, buf, 39);
|
StringFromGUID2(rclsid, buf, 39);
|
||||||
StringFromGUID2(guidProfile, buf2, 39);
|
StringFromGUID2(guidProfile, buf2, 39);
|
||||||
sprintfW(fullkey,szwFullLangfmt,szwSystemTIPKey,buf,szwLngp,langid,buf2);
|
swprintf(fullkey,szwFullLangfmt,szwSystemTIPKey,buf,szwLngp,langid,buf2);
|
||||||
|
|
||||||
res = RegOpenKeyExW(HKEY_CURRENT_USER, fullkey, 0, KEY_READ | KEY_WRITE, &key);
|
res = RegOpenKeyExW(HKEY_CURRENT_USER, fullkey, 0, KEY_READ | KEY_WRITE, &key);
|
||||||
|
|
||||||
|
@ -721,7 +721,7 @@ static HRESULT WINAPI InputProcessorProfiles_EnableLanguageProfileByDefault(
|
||||||
|
|
||||||
StringFromGUID2(rclsid, buf, 39);
|
StringFromGUID2(rclsid, buf, 39);
|
||||||
StringFromGUID2(guidProfile, buf2, 39);
|
StringFromGUID2(guidProfile, buf2, 39);
|
||||||
sprintfW(fullkey,szwFullLangfmt,szwSystemTIPKey,buf,szwLngp,langid,buf2);
|
swprintf(fullkey,szwFullLangfmt,szwSystemTIPKey,buf,szwLngp,langid,buf2);
|
||||||
|
|
||||||
res = RegOpenKeyExW(HKEY_LOCAL_MACHINE, fullkey, 0, KEY_READ | KEY_WRITE, &key);
|
res = RegOpenKeyExW(HKEY_LOCAL_MACHINE, fullkey, 0, KEY_READ | KEY_WRITE, &key);
|
||||||
|
|
||||||
|
@ -1191,7 +1191,7 @@ static INT next_LanguageProfile(EnumTfLanguageProfiles *This, CLSID clsid, TF_LA
|
||||||
|
|
||||||
if (This->langkey == NULL)
|
if (This->langkey == NULL)
|
||||||
{
|
{
|
||||||
sprintfW(fullkey,fmt,This->szwCurrentClsid,szwLngp,This->langid);
|
swprintf(fullkey,fmt,This->szwCurrentClsid,szwLngp,This->langid);
|
||||||
res = RegOpenKeyExW(This->tipkey, fullkey, 0, KEY_READ | KEY_WRITE, &This->langkey);
|
res = RegOpenKeyExW(This->tipkey, fullkey, 0, KEY_READ | KEY_WRITE, &This->langkey);
|
||||||
if (res)
|
if (res)
|
||||||
{
|
{
|
||||||
|
@ -1315,7 +1315,7 @@ static HRESULT WINAPI EnumTfLanguageProfiles_Clone( IEnumTfLanguageProfiles *ifa
|
||||||
WCHAR fullkey[168];
|
WCHAR fullkey[168];
|
||||||
static const WCHAR fmt[] = {'%','s','\\','%','s','\\','0','x','%','0','8','x',0};
|
static const WCHAR fmt[] = {'%','s','\\','%','s','\\','0','x','%','0','8','x',0};
|
||||||
|
|
||||||
sprintfW(fullkey,fmt,This->szwCurrentClsid,szwLngp,This->langid);
|
swprintf(fullkey,fmt,This->szwCurrentClsid,szwLngp,This->langid);
|
||||||
res = RegOpenKeyExW(new_This->tipkey, fullkey, 0, KEY_READ | KEY_WRITE, &This->langkey);
|
res = RegOpenKeyExW(new_This->tipkey, fullkey, 0, KEY_READ | KEY_WRITE, &This->langkey);
|
||||||
new_This->lang_index = This->lang_index;
|
new_This->lang_index = This->lang_index;
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,8 +18,6 @@
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,9 @@
|
||||||
#define COOKIE_MAGIC_DMSINK 0x0070
|
#define COOKIE_MAGIC_DMSINK 0x0070
|
||||||
#define COOKIE_MAGIC_THREADFOCUSSINK 0x0080
|
#define COOKIE_MAGIC_THREADFOCUSSINK 0x0080
|
||||||
#define COOKIE_MAGIC_KEYTRACESINK 0x0090
|
#define COOKIE_MAGIC_KEYTRACESINK 0x0090
|
||||||
|
#define COOKIE_MAGIC_UIELEMENTSINK 0x00a0
|
||||||
|
#define COOKIE_MAGIC_INPUTPROCESSORPROFILEACTIVATIONSINK 0x00b0
|
||||||
|
#define COOKIE_MAGIC_ACTIVELANGSINK 0x00c0
|
||||||
|
|
||||||
extern DWORD tlsIndex DECLSPEC_HIDDEN;
|
extern DWORD tlsIndex DECLSPEC_HIDDEN;
|
||||||
extern TfClientId processId DECLSPEC_HIDDEN;
|
extern TfClientId processId DECLSPEC_HIDDEN;
|
||||||
|
|
|
@ -2,9 +2,8 @@
|
||||||
#ifndef _MSCTF_PRECOMP_H
|
#ifndef _MSCTF_PRECOMP_H
|
||||||
#define _MSCTF_PRECOMP_H
|
#define _MSCTF_PRECOMP_H
|
||||||
|
|
||||||
#include <wine/config.h>
|
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
#include <wchar.h>
|
||||||
|
|
||||||
#define WIN32_NO_STATUS
|
#define WIN32_NO_STATUS
|
||||||
#define _INC_WINDOWS
|
#define _INC_WINDOWS
|
||||||
|
@ -21,7 +20,6 @@
|
||||||
#include <shlwapi.h>
|
#include <shlwapi.h>
|
||||||
|
|
||||||
#include <wine/list.h>
|
#include <wine/list.h>
|
||||||
#include <wine/unicode.h>
|
|
||||||
#include <wine/debug.h>
|
#include <wine/debug.h>
|
||||||
|
|
||||||
#include "msctf_internal.h"
|
#include "msctf_internal.h"
|
||||||
|
|
|
@ -18,8 +18,6 @@
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
#define COBJMACROS
|
#define COBJMACROS
|
||||||
|
@ -33,8 +31,6 @@
|
||||||
#include "winerror.h"
|
#include "winerror.h"
|
||||||
#include "objbase.h"
|
#include "objbase.h"
|
||||||
|
|
||||||
#include "wine/unicode.h"
|
|
||||||
|
|
||||||
#include "msctf.h"
|
#include "msctf.h"
|
||||||
#include "msctf_internal.h"
|
#include "msctf_internal.h"
|
||||||
|
|
||||||
|
|
|
@ -18,8 +18,6 @@
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
#define COBJMACROS
|
#define COBJMACROS
|
||||||
|
@ -34,8 +32,6 @@
|
||||||
#include "objbase.h"
|
#include "objbase.h"
|
||||||
#include "olectl.h"
|
#include "olectl.h"
|
||||||
|
|
||||||
#include "wine/unicode.h"
|
|
||||||
|
|
||||||
#include "msctf.h"
|
#include "msctf.h"
|
||||||
#include "msctf_internal.h"
|
#include "msctf_internal.h"
|
||||||
|
|
||||||
|
@ -100,6 +96,8 @@ typedef struct tagACLMulti {
|
||||||
struct list PreservedKeyNotifySink;
|
struct list PreservedKeyNotifySink;
|
||||||
struct list ThreadFocusSink;
|
struct list ThreadFocusSink;
|
||||||
struct list ThreadMgrEventSink;
|
struct list ThreadMgrEventSink;
|
||||||
|
struct list UIElementSink;
|
||||||
|
struct list InputProcessorProfileActivationSink;
|
||||||
} ThreadMgr;
|
} ThreadMgr;
|
||||||
|
|
||||||
typedef struct tagEnumTfDocumentMgr {
|
typedef struct tagEnumTfDocumentMgr {
|
||||||
|
@ -176,6 +174,8 @@ static void ThreadMgr_Destructor(ThreadMgr *This)
|
||||||
free_sinks(&This->PreservedKeyNotifySink);
|
free_sinks(&This->PreservedKeyNotifySink);
|
||||||
free_sinks(&This->ThreadFocusSink);
|
free_sinks(&This->ThreadFocusSink);
|
||||||
free_sinks(&This->ThreadMgrEventSink);
|
free_sinks(&This->ThreadMgrEventSink);
|
||||||
|
free_sinks(&This->UIElementSink);
|
||||||
|
free_sinks(&This->InputProcessorProfileActivationSink);
|
||||||
|
|
||||||
LIST_FOR_EACH_SAFE(cursor, cursor2, &This->CurrentPreservedKeys)
|
LIST_FOR_EACH_SAFE(cursor, cursor2, &This->CurrentPreservedKeys)
|
||||||
{
|
{
|
||||||
|
@ -621,6 +621,13 @@ static HRESULT WINAPI ThreadMgrSource_AdviseSink(ITfSource *iface,
|
||||||
return advise_sink(&This->ThreadFocusSink, &IID_ITfThreadFocusSink, COOKIE_MAGIC_THREADFOCUSSINK, punk, pdwCookie);
|
return advise_sink(&This->ThreadFocusSink, &IID_ITfThreadFocusSink, COOKIE_MAGIC_THREADFOCUSSINK, punk, pdwCookie);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (IsEqualIID(riid, &IID_ITfActiveLanguageProfileNotifySink))
|
||||||
|
{
|
||||||
|
WARN("semi-stub for ITfActiveLanguageProfileNotifySink: sink won't be used.\n");
|
||||||
|
return advise_sink(&This->ActiveLanguageProfileNotifySink, &IID_ITfActiveLanguageProfileNotifySink,
|
||||||
|
COOKIE_MAGIC_ACTIVELANGSINK, punk, pdwCookie);
|
||||||
|
}
|
||||||
|
|
||||||
if (IsEqualIID(riid, &IID_ITfKeyTraceEventSink))
|
if (IsEqualIID(riid, &IID_ITfKeyTraceEventSink))
|
||||||
{
|
{
|
||||||
WARN("semi-stub for ITfKeyTraceEventSink: sink won't be used.\n");
|
WARN("semi-stub for ITfKeyTraceEventSink: sink won't be used.\n");
|
||||||
|
@ -628,6 +635,20 @@ static HRESULT WINAPI ThreadMgrSource_AdviseSink(ITfSource *iface,
|
||||||
COOKIE_MAGIC_KEYTRACESINK, punk, pdwCookie);
|
COOKIE_MAGIC_KEYTRACESINK, punk, pdwCookie);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (IsEqualIID(riid, &IID_ITfUIElementSink))
|
||||||
|
{
|
||||||
|
WARN("semi-stub for ITfUIElementSink: sink won't be used.\n");
|
||||||
|
return advise_sink(&This->UIElementSink, &IID_ITfUIElementSink,
|
||||||
|
COOKIE_MAGIC_UIELEMENTSINK, punk, pdwCookie);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (IsEqualIID(riid, &IID_ITfInputProcessorProfileActivationSink))
|
||||||
|
{
|
||||||
|
WARN("semi-stub for ITfInputProcessorProfileActivationSink: sink won't be used.\n");
|
||||||
|
return advise_sink(&This->InputProcessorProfileActivationSink, &IID_ITfInputProcessorProfileActivationSink,
|
||||||
|
COOKIE_MAGIC_INPUTPROCESSORPROFILEACTIVATIONSINK, punk, pdwCookie);
|
||||||
|
}
|
||||||
|
|
||||||
FIXME("(%p) Unhandled Sink: %s\n",This,debugstr_guid(riid));
|
FIXME("(%p) Unhandled Sink: %s\n",This,debugstr_guid(riid));
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
@ -641,6 +662,8 @@ static HRESULT WINAPI ThreadMgrSource_UnadviseSink(ITfSource *iface, DWORD pdwCo
|
||||||
|
|
||||||
magic = get_Cookie_magic(pdwCookie);
|
magic = get_Cookie_magic(pdwCookie);
|
||||||
if (magic != COOKIE_MAGIC_TMSINK && magic != COOKIE_MAGIC_THREADFOCUSSINK
|
if (magic != COOKIE_MAGIC_TMSINK && magic != COOKIE_MAGIC_THREADFOCUSSINK
|
||||||
|
&& magic != COOKIE_MAGIC_KEYTRACESINK && magic != COOKIE_MAGIC_UIELEMENTSINK
|
||||||
|
&& magic != COOKIE_MAGIC_INPUTPROCESSORPROFILEACTIVATIONSINK
|
||||||
&& magic != COOKIE_MAGIC_KEYTRACESINK)
|
&& magic != COOKIE_MAGIC_KEYTRACESINK)
|
||||||
return E_INVALIDARG;
|
return E_INVALIDARG;
|
||||||
|
|
||||||
|
@ -1358,6 +1381,8 @@ HRESULT ThreadMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
|
||||||
list_init(&This->PreservedKeyNotifySink);
|
list_init(&This->PreservedKeyNotifySink);
|
||||||
list_init(&This->ThreadFocusSink);
|
list_init(&This->ThreadFocusSink);
|
||||||
list_init(&This->ThreadMgrEventSink);
|
list_init(&This->ThreadMgrEventSink);
|
||||||
|
list_init(&This->UIElementSink);
|
||||||
|
list_init(&This->InputProcessorProfileActivationSink);
|
||||||
|
|
||||||
TRACE("returning %p\n", This);
|
TRACE("returning %p\n", This);
|
||||||
*ppOut = (IUnknown *)&This->ITfThreadMgrEx_iface;
|
*ppOut = (IUnknown *)&This->ITfThreadMgrEx_iface;
|
||||||
|
|
|
@ -107,7 +107,7 @@ dll/win32/msadp32.acm # Synced to WineStaging-4.0
|
||||||
dll/win32/mscat32 # Synced to WineStaging-4.18
|
dll/win32/mscat32 # Synced to WineStaging-4.18
|
||||||
dll/win32/mscms # Synced to WineStaging-4.18
|
dll/win32/mscms # Synced to WineStaging-4.18
|
||||||
dll/win32/mscoree # Synced to Wine-1.5.4
|
dll/win32/mscoree # Synced to Wine-1.5.4
|
||||||
dll/win32/msctf # Synced to WineStaging-4.0
|
dll/win32/msctf # Synced to WineStaging-4.18
|
||||||
dll/win32/msftedit # Synced to WineStaging-3.3
|
dll/win32/msftedit # Synced to WineStaging-3.3
|
||||||
dll/win32/msg711.acm # Synced to WineStaging-4.0
|
dll/win32/msg711.acm # Synced to WineStaging-4.0
|
||||||
dll/win32/msgsm32.acm # Synced to WineStaging-4.0
|
dll/win32/msgsm32.acm # Synced to WineStaging-4.0
|
||||||
|
|
Loading…
Reference in a new issue