https://git.reactos.org/?p=reactos.git;a=commitdiff;h=4335e46944d1b3aeb1a1bb...
commit 4335e46944d1b3aeb1a1bb62e2e73e7bfac5c1fc Author: Amine Khaldi amine.khaldi@reactos.org AuthorDate: Mon Jun 4 03:41:08 2018 +0100 Commit: Amine Khaldi amine.khaldi@reactos.org CommitDate: Mon Jun 4 03:41:08 2018 +0100
[MSCTF] Sync with Wine Staging 3.9. CORE-14656 --- dll/win32/msctf/context.c | 6 +++--- dll/win32/msctf/msctf_internal.h | 1 + dll/win32/msctf/threadmgr.c | 12 +++++++++++- media/doc/README.WINE | 2 +- 4 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/dll/win32/msctf/context.c b/dll/win32/msctf/context.c index 54052f6302..452895c07e 100644 --- a/dll/win32/msctf/context.c +++ b/dll/win32/msctf/context.c @@ -758,14 +758,14 @@ static HRESULT WINAPI TextStoreACPSink_OnTextChange(ITextStoreACPSink *iface, { Context *This = impl_from_ITextStoreACPSink(iface); FIXME("STUB:(%p)\n",This); - return E_NOTIMPL; + return S_OK; }
static HRESULT WINAPI TextStoreACPSink_OnSelectionChange(ITextStoreACPSink *iface) { Context *This = impl_from_ITextStoreACPSink(iface); FIXME("STUB:(%p)\n",This); - return E_NOTIMPL; + return S_OK; }
static HRESULT WINAPI TextStoreACPSink_OnLayoutChange(ITextStoreACPSink *iface, @@ -773,7 +773,7 @@ static HRESULT WINAPI TextStoreACPSink_OnLayoutChange(ITextStoreACPSink *iface, { Context *This = impl_from_ITextStoreACPSink(iface); FIXME("STUB:(%p)\n",This); - return E_NOTIMPL; + return S_OK; }
static HRESULT WINAPI TextStoreACPSink_OnStatusChange(ITextStoreACPSink *iface, diff --git a/dll/win32/msctf/msctf_internal.h b/dll/win32/msctf/msctf_internal.h index d5e7fe0d03..9d37548361 100644 --- a/dll/win32/msctf/msctf_internal.h +++ b/dll/win32/msctf/msctf_internal.h @@ -31,6 +31,7 @@ #define COOKIE_MAGIC_COMPARTMENTSINK 0x0060 #define COOKIE_MAGIC_DMSINK 0x0070 #define COOKIE_MAGIC_THREADFOCUSSINK 0x0080 +#define COOKIE_MAGIC_KEYTRACESINK 0x0090
extern DWORD tlsIndex DECLSPEC_HIDDEN; extern TfClientId processId DECLSPEC_HIDDEN; diff --git a/dll/win32/msctf/threadmgr.c b/dll/win32/msctf/threadmgr.c index 8ca12ac078..5338e7271c 100644 --- a/dll/win32/msctf/threadmgr.c +++ b/dll/win32/msctf/threadmgr.c @@ -621,6 +621,13 @@ static HRESULT WINAPI ThreadMgrSource_AdviseSink(ITfSource *iface, return advise_sink(&This->ThreadFocusSink, &IID_ITfThreadFocusSink, COOKIE_MAGIC_THREADFOCUSSINK, punk, pdwCookie); }
+ if (IsEqualIID(riid, &IID_ITfKeyTraceEventSink)) + { + WARN("semi-stub for ITfKeyTraceEventSink: sink won't be used.\n"); + return advise_sink(&This->KeyTraceEventSink, &IID_ITfKeyTraceEventSink, + COOKIE_MAGIC_KEYTRACESINK, punk, pdwCookie); + } + FIXME("(%p) Unhandled Sink: %s\n",This,debugstr_guid(riid)); return E_NOTIMPL; } @@ -628,10 +635,13 @@ static HRESULT WINAPI ThreadMgrSource_AdviseSink(ITfSource *iface, static HRESULT WINAPI ThreadMgrSource_UnadviseSink(ITfSource *iface, DWORD pdwCookie) { ThreadMgr *This = impl_from_ITfSource(iface); + DWORD magic;
TRACE("(%p) %x\n",This,pdwCookie);
- if (get_Cookie_magic(pdwCookie) != COOKIE_MAGIC_TMSINK && get_Cookie_magic(pdwCookie) != COOKIE_MAGIC_THREADFOCUSSINK) + magic = get_Cookie_magic(pdwCookie); + if (magic != COOKIE_MAGIC_TMSINK && magic != COOKIE_MAGIC_THREADFOCUSSINK + && magic != COOKIE_MAGIC_KEYTRACESINK) return E_INVALIDARG;
return unadvise_sink(pdwCookie); diff --git a/media/doc/README.WINE b/media/doc/README.WINE index 3db38f6dd3..080c7c8341 100644 --- a/media/doc/README.WINE +++ b/media/doc/README.WINE @@ -106,7 +106,7 @@ reactos/dll/win32/msadp32.acm # Synced to WineStaging-3.3 reactos/dll/win32/mscat32 # Synced to WineStaging-3.3 reactos/dll/win32/mscms # Synced to WineStaging-3.3 reactos/dll/win32/mscoree # Synced to Wine-1.5.4 -reactos/dll/win32/msctf # Synced to WineStaging-3.3 +reactos/dll/win32/msctf # Synced to WineStaging-3.9 reactos/dll/win32/msftedit # Synced to WineStaging-3.3 reactos/dll/win32/msg711.acm # Synced to WineStaging-3.3 reactos/dll/win32/msgsm32.acm # Synced to WineStaging-3.3