X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=server%2Fsttd_dbus.c;h=c234977ccce0cf22194edc053e948d0c57713742;hb=e6e5e98c676315c8d51c52b643617d285b476f7d;hp=b7566c3c0727adf1c07e1260ac7ceab091f43194;hpb=5fd284172f7e827062d67b709620e05a5c78343b;p=platform%2Fcore%2Fuifw%2Fstt.git diff --git a/server/sttd_dbus.c b/server/sttd_dbus.c index b7566c3..c234977 100644 --- a/server/sttd_dbus.c +++ b/server/sttd_dbus.c @@ -259,7 +259,7 @@ int sttdc_send_result(int uid, int event, const char** data, int data_count, con snprintf(target_if_name, sizeof(target_if_name), "%s%d", STT_CLIENT_SERVICE_INTERFACE, pid); DBusMessage* msg = NULL; - SLOG(LOG_DEBUG, TAG_STTD, "[Dbus] send result signal : uid(%d), event(%d), result count(%d) result id(%d)", + SLOG(LOG_DEBUG, TAG_STTD, "[Dbus] send result signal : uid(%d), event(%d), result count(%d) result id(%d)", uid, event, data_count, g_internal_result_id); msg = dbus_message_new_signal( @@ -504,14 +504,17 @@ void __sttd_dbus_connection_free() { if (NULL != g_conn_listener) { dbus_connection_close(g_conn_listener); + dbus_connection_unref(g_conn_listener); g_conn_listener = NULL; } if (NULL != g_conn_sender) { dbus_connection_close(g_conn_sender); + dbus_connection_unref(g_conn_sender); g_conn_sender = NULL; } if (NULL != g_conn_custom) { dbus_connection_close(g_conn_custom); + dbus_connection_unref(g_conn_custom); g_conn_custom = NULL; } } @@ -576,7 +579,7 @@ int __sttd_get_buxtonkey() } SLOG(LOG_DEBUG, TAG_STTD, "[DBUS-BUXTON2] buxton_value_get_string: engine_default: %s", engine_default); - ret = aul_app_get_appid_bypid(pid, engine_appid, sizeof(engine_appid)); + ret = aul_app_get_appid_bypid(pid, engine_appid, sizeof(engine_appid) - 1); __sttd_dbus_service_free(); @@ -682,6 +685,7 @@ int __sttd_request_custom_dbus_name() } dbus_connection_close(g_conn_custom); + dbus_connection_unref(g_conn_custom); g_conn_custom = NULL; SLOG(LOG_DEBUG, TAG_STTD, "=="); @@ -759,6 +763,11 @@ int sttd_dbus_open_connection() return STTD_ERROR_OPERATION_FAILED; } + /* Flush messages which are received before fd event handler registration */ + while (DBUS_DISPATCH_DATA_REMAINS == dbus_connection_get_dispatch_status(g_conn_listener)) { + listener_event_callback(NULL, NULL); + } + /* add a rule for getting signal */ char rule[128]; snprintf(rule, 128, "type='signal',interface='%s'", g_server_service_interface);