From 8f465424dd78def94eaeca8e2fb0a5b2a5c4630f Mon Sep 17 00:00:00 2001 From: "wn.jang" Date: Tue, 30 Apr 2019 16:28:29 +0900 Subject: [PATCH] Remove callback when client is destroy Change-Id: I60cc40086c4d889212dc2d019915f6f7f0ef4c16 Signed-off-by: wn.jang --- client/tts.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/client/tts.c b/client/tts.c index 08e8d9a..a58dd6f 100644 --- a/client/tts.c +++ b/client/tts.c @@ -233,6 +233,20 @@ void _tts_config_engine_changed_cb(const char* engine_id, const char* setting, c } //LCOV_EXCL_STOP +void __tts_unset_all_callbacks(tts_h tts) +{ + SLOG(LOG_INFO, TAG_TTSC, "@@@ unset all callbacks"); + + tts_unset_state_changed_cb(tts); + tts_unset_utterance_started_cb(tts); + tts_unset_utterance_completed_cb(tts); + tts_unset_error_cb(tts); + tts_unset_default_voice_changed_cb(tts); + tts_unset_engine_changed_cb(tts); + + SLOG(LOG_DEBUG, TAG_TTSC, "@@@"); +} + int tts_create(tts_h* tts) { if (0 != __tts_get_feature_enabled()) { @@ -364,6 +378,9 @@ int tts_destroy(tts_h tts) ecore_timer_del(client->conn_timer); client->conn_timer = NULL; } + /* Unset registered callbacks */ + __tts_unset_all_callbacks(tts); + /* Free resources */ tts_client_destroy(tts); break; -- 2.7.4