diff options
Diffstat (limited to 'res/res_speech.c')
-rw-r--r-- | res/res_speech.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/res/res_speech.c b/res/res_speech.c index cf830344f..ed815b6ec 100644 --- a/res/res_speech.c +++ b/res/res_speech.c @@ -92,7 +92,7 @@ int ast_speech_grammar_unload(struct ast_speech *speech, char *grammar_name) /*! \brief Return the results of a recognition from the speech structure */ struct ast_speech_result *ast_speech_results_get(struct ast_speech *speech) { - return (speech->engine->get ? speech->engine->get(speech) : NULL); + return ((speech->engine->get && ast_test_flag(speech, AST_SPEECH_HAVE_RESULTS)) ? speech->engine->get(speech) : NULL); } /*! \brief Free a list of results */ @@ -128,6 +128,7 @@ void ast_speech_start(struct ast_speech *speech) /* Clear any flags that may affect things */ ast_clear_flag(speech, AST_SPEECH_SPOKE); ast_clear_flag(speech, AST_SPEECH_QUIET); + ast_clear_flag(speech, AST_SPEECH_HAVE_RESULTS); /* If results are on the structure, free them since we are starting again */ if (speech->results) { |