diff --git a/patches/sapi-ISpObjectToken-CreateInstance/0004-sapi-ISpObjectToken-CreateInstance-support-ISpAudio.patch b/patches/sapi-ISpObjectToken-CreateInstance/0004-sapi-ISpObjectToken-CreateInstance-support-ISpAudio.patch index 10679550..86d0dec7 100644 --- a/patches/sapi-ISpObjectToken-CreateInstance/0004-sapi-ISpObjectToken-CreateInstance-support-ISpAudio.patch +++ b/patches/sapi-ISpObjectToken-CreateInstance/0004-sapi-ISpObjectToken-CreateInstance-support-ISpAudio.patch @@ -1,17 +1,17 @@ -From ac7314c8ec757deacc97e9945bd549ad75206c47 Mon Sep 17 00:00:00 2001 +From e39cdd4bc651e9089cb9447178401b86b1cecac0 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Thu, 16 Sep 2021 15:27:51 +1000 -Subject: [PATCH 4/4] sapi: ISpObjectToken CreateInstance support ISpAudio +Subject: [PATCH] sapi: ISpObjectToken CreateInstance support ISpAudio --- - dlls/sapi/token.c | 279 +++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 278 insertions(+), 1 deletion(-) + dlls/sapi/token.c | 276 ++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 276 insertions(+) diff --git a/dlls/sapi/token.c b/dlls/sapi/token.c -index ba91a425e9e..ab94a148c7e 100644 +index 6cc7ccd6d73..79594301c35 100644 --- a/dlls/sapi/token.c +++ b/dlls/sapi/token.c -@@ -968,13 +968,290 @@ static HRESULT WINAPI token_GetCategory( ISpObjectToken *iface, +@@ -1221,6 +1221,276 @@ static HRESULT WINAPI token_GetCategory( ISpObjectToken *iface, return E_NOTIMPL; } @@ -288,21 +288,19 @@ index ba91a425e9e..ab94a148c7e 100644 static HRESULT WINAPI token_CreateInstance( ISpObjectToken *iface, IUnknown *outer, DWORD class_context, - REFIID riid, - void **object ) - { -- FIXME( "stub\n" ); -+ struct object_token *This = impl_from_ISpObjectToken( iface ); -+ -+ FIXME( "(%p)->(%p 0x%08x %s, %p): semi-stub\n", This, outer, class_context, debugstr_guid( riid ), object); -+ +@@ -1235,6 +1505,12 @@ static HRESULT WINAPI token_CreateInstance( ISpObjectToken *iface, + + TRACE( "%p, %p, %#lx, %s, %p\n", iface, outer, class_context, debugstr_guid( riid ), object ); + ++ /* Ubtil the Enum class is implemented correctly. */ + if (IsEqualIID(riid, &IID_ISpAudio)) + { + return speech_audio_create(object); + } - return E_NOTIMPL; - } ++ + if (FAILED(hr = ISpObjectToken_GetStringValue( iface, L"CLSID", &clsid_str ))) + return hr; -- -2.33.0 +2.40.1 diff --git a/staging/upstream-commit b/staging/upstream-commit index 62a68698..929f5046 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -bd89ab3040e30c11b34a95072d88f635ade03bdc +222d20a585c454cb591e3dc539f3bd52427ea30c