Signed-off-by: Bernhard Kölbl besentv@gmail.com --- dlls/windows.media.speech/main.c | 13 +++++++------ dlls/windows.media.speech/private.h | 2 ++ 2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/dlls/windows.media.speech/main.c b/dlls/windows.media.speech/main.c index d11a0e6c6e1..db0840f9fdd 100644 --- a/dlls/windows.media.speech/main.c +++ b/dlls/windows.media.speech/main.c @@ -32,13 +32,14 @@ HRESULT WINAPI DllGetActivationFactory(HSTRING classid, IActivationFactory **fac { TRACE("classid %s, factory %p.\n", debugstr_hstring(classid), factory);
- if (wcscmp(WindowsGetStringRawBuffer(classid, NULL), L"Windows.Media.SpeechSynthesis.SpeechSynthesizer")) + if (IsEqualClassID(WindowsGetStringRawBuffer(classid, NULL), + L"Windows.Media.SpeechSynthesis.SpeechSynthesizer")) { - ERR("Unknown classid %s.\n", debugstr_hstring(classid)); - return CLASS_E_CLASSNOTAVAILABLE; + speech_synthesizer_get_activation_factory(factory); + IUnknown_AddRef(*factory); + return S_OK; }
- speech_synthesizer_get_activation_factory(factory); - IUnknown_AddRef(*factory); - return S_OK; + ERR("Unknown classid %s.\n", debugstr_hstring(classid)); + return CLASS_E_CLASSNOTAVAILABLE; } diff --git a/dlls/windows.media.speech/private.h b/dlls/windows.media.speech/private.h index df464c369bf..26a832b5db7 100644 --- a/dlls/windows.media.speech/private.h +++ b/dlls/windows.media.speech/private.h @@ -40,6 +40,8 @@
#include "wine/debug.h"
+#define IsEqualClassID(classid1, classid2) (!wcscmp(classid1, classid2)) + static inline const char *debugstr_hstring(HSTRING hstr) { const WCHAR *str;