wine-staging/patches/msctf-ITfActiveLanguageProfileNotifySink/0001-msctf-Added-ITfActiveLanguageProfileNotifySink-suppo.patch

59 lines
2.3 KiB
Diff
Raw Normal View History

From dec04ef411b2ae2fa1eed07e447e0a1090191cee Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Fri, 12 Jul 2019 09:50:00 +1000
Subject: [PATCH] msctf: Added ITfActiveLanguageProfileNotifySink support in
ITfSource.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44502
---
dlls/msctf/msctf_internal.h | 1 +
dlls/msctf/threadmgr.c | 13 +++++++++++--
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/dlls/msctf/msctf_internal.h b/dlls/msctf/msctf_internal.h
index 9d37548361..35843eecf9 100644
--- a/dlls/msctf/msctf_internal.h
+++ b/dlls/msctf/msctf_internal.h
@@ -32,6 +32,7 @@
#define COOKIE_MAGIC_DMSINK 0x0070
#define COOKIE_MAGIC_THREADFOCUSSINK 0x0080
#define COOKIE_MAGIC_KEYTRACESINK 0x0090
+#define COOKIE_MAGIC_ACTIVELANGSINK 0x0100
extern DWORD tlsIndex DECLSPEC_HIDDEN;
extern TfClientId processId DECLSPEC_HIDDEN;
diff --git a/dlls/msctf/threadmgr.c b/dlls/msctf/threadmgr.c
index a9fcb5cd15..fac11e7a35 100644
--- a/dlls/msctf/threadmgr.c
+++ b/dlls/msctf/threadmgr.c
@@ -617,6 +617,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");
@@ -636,8 +643,10 @@ static HRESULT WINAPI ThreadMgrSource_UnadviseSink(ITfSource *iface, DWORD pdwCo
TRACE("(%p) %x\n",This,pdwCookie);
magic = get_Cookie_magic(pdwCookie);
- if (magic != COOKIE_MAGIC_TMSINK && magic != COOKIE_MAGIC_THREADFOCUSSINK
- && magic != COOKIE_MAGIC_KEYTRACESINK)
+ if (magic != COOKIE_MAGIC_TMSINK &&
+ magic != COOKIE_MAGIC_THREADFOCUSSINK &&
+ magic != COOKIE_MAGIC_ACTIVELANGSINK &&
+ magic != COOKIE_MAGIC_KEYTRACESINK)
return E_INVALIDARG;
return unadvise_sink(pdwCookie);
--
2.17.1