From ea75b6913455c28eb54c74af2f4e461266aed6f8 Mon Sep 17 00:00:00 2001 From: Shilpa Singh Date: Tue, 7 Apr 2020 20:23:46 +0900 Subject: [PATCH] elm_entry, accessibility: Send utf8 text instead of markup to ATSPI client Summary: Markup text cannot be read as per expectation by a text to speech engine, hence send text in UTF8 format Test Plan: Test the text returned by connecting to object:text-changed:insert and object:text-changed:delete events in ATSPI-clients Reviewers: kimcinoo Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11660 --- src/lib/elementary/elm_entry.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c index 60008e6326..af8445b432 100644 --- a/src/lib/elementary/elm_entry.c +++ b/src/lib/elementary/elm_entry.c @@ -2263,17 +2263,19 @@ _entry_changed_user_signal_cb(void *data, Efl_Access_Text_Change_Info atspi_info; if (edje_info && edje_info->insert) { - atspi_info.content = edje_info->change.insert.content; + atspi_info.content = elm_entry_markup_to_utf8(edje_info->change.insert.content); atspi_info.pos = edje_info->change.insert.pos; atspi_info.len = edje_info->change.insert.plain_length; - efl_access_object_event_emit( data, EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_INSERTED, &atspi_info); + efl_access_object_event_emit(data, EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_INSERTED, &atspi_info); + free((void *)atspi_info.content); } else if (edje_info && !edje_info->insert) { - atspi_info.content = edje_info->change.del.content; + atspi_info.content = elm_entry_markup_to_utf8(edje_info->change.del.content); atspi_info.pos = MIN(edje_info->change.del.start, edje_info->change.del.end); atspi_info.len = MAX(edje_info->change.del.start, edje_info->change.del.end) - atspi_info.pos; - efl_access_object_event_emit( data, EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_REMOVED, &atspi_info); + efl_access_object_event_emit(data, EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_REMOVED, &atspi_info); + free((void *)atspi_info.content); } } }