From: Amine Khaldi Date: Mon, 4 Jun 2018 02:41:08 +0000 (+0100) Subject: [MSCTF] Sync with Wine Staging 3.9. CORE-14656 X-Git-Tag: 0.4.11-dev~476 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=4335e46944d1b3aeb1a1bb62e2e73e7bfac5c1fc [MSCTF] Sync with Wine Staging 3.9. CORE-14656 --- diff --git a/dll/win32/msctf/context.c b/dll/win32/msctf/context.c index 54052f6302f..452895c07e3 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 d5e7fe0d038..9d375483616 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 8ca12ac0788..5338e7271c5 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 3db38f6dd36..080c7c83411 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