From 7e33a3e4db7095f0bd42debe2e65f538c66cc36c Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sun, 24 Jan 2016 16:05:12 +0000 Subject: [PATCH] SAPI - Improve the error logic in Get/SetObjectToken. --- src/windows/com/ttsengine.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/windows/com/ttsengine.cpp b/src/windows/com/ttsengine.cpp index a2e0a550..809557b9 100644 --- a/src/windows/com/ttsengine.cpp +++ b/src/windows/com/ttsengine.cpp @@ -19,6 +19,7 @@ #include #include +#include #include @@ -109,18 +110,24 @@ HRESULT __stdcall TtsEngine::GetObjectToken(ISpObjectToken **token) return E_POINTER; *token = objectToken; - if (objectToken) + if (objectToken) { objectToken->AddRef(); - return S_OK; + return S_OK; + } + return S_FALSE; } HRESULT __stdcall TtsEngine::SetObjectToken(ISpObjectToken *token) { + if (!token) + return E_INVALIDARG; + if (objectToken) - objectToken->Release(); + return SPERR_ALREADY_INITIALIZED; + objectToken = token; - if (objectToken) - objectToken->AddRef(); + objectToken->AddRef(); + return S_OK; }