https://git.reactos.org/?p=reactos.git;a=commitdiff;h=4335e46944d1b3aeb1a1b…
commit 4335e46944d1b3aeb1a1bb62e2e73e7bfac5c1fc
Author: Amine Khaldi <amine.khaldi(a)reactos.org>
AuthorDate: Mon Jun 4 03:41:08 2018 +0100
Commit: Amine Khaldi <amine.khaldi(a)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