[PATCH 1/2] msctf: Accept ITfActiveLanguageProfileNotifySink in ThreadMgr AdviseSink.
Gijs Vermeulen
gijsvrm at gmail.com
Sun Nov 22 10:13:31 CST 2020
From: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44502
Signed-off-by: Gijs Vermeulen <gijsvrm at gmail.com>
---
dlls/msctf/msctf_internal.h | 1 +
dlls/msctf/threadmgr.c | 10 +++++++++-
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/dlls/msctf/msctf_internal.h b/dlls/msctf/msctf_internal.h
index 584bb1044ed..9d60e18e6f3 100644
--- a/dlls/msctf/msctf_internal.h
+++ b/dlls/msctf/msctf_internal.h
@@ -34,6 +34,7 @@
#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 TfClientId processId DECLSPEC_HIDDEN;
diff --git a/dlls/msctf/threadmgr.c b/dlls/msctf/threadmgr.c
index 77cf47ca4f6..0e054d4e654 100644
--- a/dlls/msctf/threadmgr.c
+++ b/dlls/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_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))
{
WARN("semi-stub for ITfKeyTraceEventSink: sink won't be used.\n");
@@ -656,7 +663,8 @@ static HRESULT WINAPI ThreadMgrSource_UnadviseSink(ITfSource *iface, DWORD pdwCo
magic = get_Cookie_magic(pdwCookie);
if (magic != COOKIE_MAGIC_TMSINK && magic != COOKIE_MAGIC_THREADFOCUSSINK
&& magic != COOKIE_MAGIC_KEYTRACESINK && magic != COOKIE_MAGIC_UIELEMENTSINK
- && magic != COOKIE_MAGIC_INPUTPROCESSORPROFILEACTIVATIONSINK)
+ && magic != COOKIE_MAGIC_INPUTPROCESSORPROFILEACTIVATIONSINK
+ && magic != COOKIE_MAGIC_ACTIVELANGSINK)
return E_INVALIDARG;
return unadvise_sink(pdwCookie);
--
2.29.2
More information about the wine-devel
mailing list