From 66213df2f5a537b670cf48a52a71c8160fa4bb26 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 10 Jul 2019 14:24:51 -0400 Subject: [PATCH] edje: fix reapplying markup text on file/group change Summary: this was being stored as regular text when it was actually markup @fix Depends on D9208 Reviewers: cedric Reviewed By: cedric Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9209 --- src/lib/edje/edje_load.c | 5 ++++- src/lib/edje/edje_private.h | 1 + src/lib/edje/edje_util.c | 3 ++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/lib/edje/edje_load.c b/src/lib/edje/edje_load.c index 786dae00d9..0e257a902d 100644 --- a/src/lib/edje/edje_load.c +++ b/src/lib/edje/edje_load.c @@ -1683,7 +1683,10 @@ _edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const ch switch (eud->u.string.type) { case EDJE_TEXT_TYPE_NORMAL: - edje_object_part_text_set(obj, eud->part, eud->u.string.text); + efl_text_set(efl_part(obj, eud->part), eud->u.string.text); + break; + case EDJE_TEXT_TYPE_MARKUP: + efl_text_markup_set(efl_part(obj, eud->part), eud->u.string.text); break; case EDJE_TEXT_TYPE_ESCAPED: edje_object_part_text_escaped_set(obj, eud->part, eud->u.string.text); diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h index cedc4d6fa6..c8362dbb56 100644 --- a/src/lib/edje/edje_private.h +++ b/src/lib/edje/edje_private.h @@ -2085,6 +2085,7 @@ struct _Edje_Signal_Callback typedef enum { EDJE_TEXT_TYPE_NORMAL, + EDJE_TEXT_TYPE_MARKUP, EDJE_TEXT_TYPE_ESCAPED, EDJE_TEXT_TYPE_UNESCAPED } Edje_Text_Type; diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c index e73da61d54..827c95c0d1 100644 --- a/src/lib/edje/edje_util.c +++ b/src/lib/edje/edje_util.c @@ -2114,7 +2114,8 @@ _edje_efl_text_text_set(Eo *obj, Edje *ed, const char *part, const char *text, } int_ret = _edje_object_part_text_raw_generic_set(ed, obj, rp, part, text, set_markup, legacy); - _edje_user_define_string(ed, part, rp->typedata.text->text, EDJE_TEXT_TYPE_NORMAL); + _edje_user_define_string(ed, part, rp->typedata.text->text, + set_markup ? EDJE_TEXT_TYPE_MARKUP : EDJE_TEXT_TYPE_NORMAL); return int_ret; }