diff options
author | Daniel Hirt <hirt.danny@gmail.com> | 2017-09-10 16:45:42 +0300 |
---|---|---|
committer | Daniel Hirt <hirt.danny@gmail.com> | 2017-09-10 16:45:42 +0300 |
commit | 5f29b2f2feee43cd5faca17c27daa7f45f4f46ff (patch) | |
tree | f2e052523a102826df74e5608bee470bf2c019b6 | |
parent | e670a334a1d6eec066315af1d33988c09be8450a (diff) | |
download | efl-devs/herdsman/text_async_lock.tar.gz |
Canvas text: fixup text_setdevs/herdsman/text_async_lock
-rw-r--r-- | src/lib/evas/canvas/evas_object_textblock.c | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c index e02c10bb3f..b7798b93e8 100644 --- a/src/lib/evas/canvas/evas_object_textblock.c +++ b/src/lib/evas/canvas/evas_object_textblock.c @@ -664,7 +664,7 @@ struct _Evas_Object_Textblock -#define ASYNC_BLOCK_RET do { \ +#define ASYNC_BLOCK_NEED_RET() do { \ _async_ret = EINA_TRUE; \ } while(0) @@ -14587,16 +14587,6 @@ EOLIAN static void _efl_canvas_text_efl_text_text_set(Eo *eo_obj, Efl_Canvas_Text_Data *o, const char *text) { - ASYNC_BLOCK_START() - { - Efl_Canvas_Text_Async_Text_Set_Info info; - info.text = text; - efl_event_callback_call(eo_obj, - EFL_CANVAS_TEXT_EVENT_ASYNC_TEXT_SET, - &info); - ASYNC_BLOCK_RET; - } - ASYNC_BLOCK_END() evas_object_textblock_text_markup_set(eo_obj, ""); efl_text_cursor_text_insert(eo_obj, o->cursor, text); efl_event_callback_call(eo_obj, EFL_CANVAS_TEXT_EVENT_CHANGED, NULL); @@ -16028,6 +16018,24 @@ _efl_canvas_text_async_efl_object_constructor(Eo *obj, void *_pd EINA_UNUSED) return obj; } +EOLIAN static void +_efl_canvas_text_async_efl_text_text_set(Eo *obj, void *_pd EINA_UNUSED, + const char *text) +{ + Efl_Canvas_Text_Data *o = efl_data_scope_get(obj, MY_CLASS); + ASYNC_BLOCK_START() + { + Efl_Canvas_Text_Async_Text_Set_Info info; + info.text = text; + efl_event_callback_call(obj, + EFL_CANVAS_TEXT_EVENT_ASYNC_TEXT_SET, + &info); + ASYNC_BLOCK_NEED_RET(); + } + ASYNC_BLOCK_END() + efl_text_set(efl_super(obj, EFL_CANVAS_TEXT_ASYNC_CLASS), text); +} + //#undef LKL //#undef LKU #include "canvas/efl_canvas_text.eo.c" |