summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Hirt <hirt.danny@gmail.com>2017-09-10 16:45:42 +0300
committerDaniel Hirt <hirt.danny@gmail.com>2017-09-10 16:45:42 +0300
commit5f29b2f2feee43cd5faca17c27daa7f45f4f46ff (patch)
treef2e052523a102826df74e5608bee470bf2c019b6
parente670a334a1d6eec066315af1d33988c09be8450a (diff)
downloadefl-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.c30
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"