From: Wonnam Jang Date: Wed, 29 Nov 2017 02:24:49 +0000 (+0900) Subject: Prevent to add rule when tts service is reset X-Git-Tag: accepted/tizen/unified/20180228.071749~29 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Ftts.git;a=commitdiff_plain;h=f21a5c52330be7893db09a6aa1ce931fbf59e038 Prevent to add rule when tts service is reset Change-Id: I6dc0fe54fe527f4fb37d36b003565a2fbb216a57 Signed-off-by: Wonnam Jang --- diff --git a/client/tts_dbus.c b/client/tts_dbus.c index 73ef33f..e7dc689 100644 --- a/client/tts_dbus.c +++ b/client/tts_dbus.c @@ -423,20 +423,23 @@ int tts_dbus_request_initialize(int uid, bool* credential_needed) return TTS_ERROR_OPERATION_FAILED; } - if (TTS_MODE_DEFAULT == client->mode) { - snprintf(rule_err, 256, "sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',type='signal',arg0='%s'", TTS_SERVER_SERVICE_INTERFACE); - } else if (TTS_MODE_NOTIFICATION == client->mode) { - snprintf(rule_err, 256, "sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',type='signal',arg0='%s'", TTS_NOTI_SERVER_SERVICE_INTERFACE); - } else if (TTS_MODE_SCREEN_READER == client->mode) { - snprintf(rule_err, 256, "sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',type='signal',arg0='%s'", TTS_SR_SERVER_SERVICE_INTERFACE); - } - dbus_bus_add_match(g_conn_listener, rule_err, &err); - dbus_connection_flush(g_conn_listener); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_TTSC, "Match Error (%s)", err.message); - dbus_error_free(&err); - return TTS_ERROR_OPERATION_FAILED; + if (TTS_ERROR_SERVICE_RESET != client->reason) { + if (TTS_MODE_DEFAULT == client->mode) { + snprintf(rule_err, 256, "sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',type='signal',arg0='%s'", TTS_SERVER_SERVICE_INTERFACE); + } else if (TTS_MODE_NOTIFICATION == client->mode) { + snprintf(rule_err, 256, "sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',type='signal',arg0='%s'", TTS_NOTI_SERVER_SERVICE_INTERFACE); + } else if (TTS_MODE_SCREEN_READER == client->mode) { + snprintf(rule_err, 256, "sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',type='signal',arg0='%s'", TTS_SR_SERVER_SERVICE_INTERFACE); + } + dbus_bus_add_match(g_conn_listener, rule_err, &err); + dbus_connection_flush(g_conn_listener); + + if (dbus_error_is_set(&err)) { + SLOG(LOG_ERROR, TAG_TTSC, "Match Error (%s)", err.message); + dbus_error_free(&err); + return TTS_ERROR_OPERATION_FAILED; + } + client->reason = 0; // default value } } else { SLOG(LOG_ERROR, TAG_TTSC, "<<<< tts initialize : result = %d", result);