edje: markup flag should be TRUE in legacy edje_object_part_text_set
authorBowon Ryu <bowon.ryu@samsung.com>
Fri, 22 May 2020 06:27:25 +0000 (15:27 +0900)
committerJongmin Lee <jm105.lee@samsung.com>
Sun, 24 May 2020 21:37:14 +0000 (06:37 +0900)
Summary:
Through some APIs (elm_entry_editable_set, elm_entry_single_line_set, etc.)
located after edje_object_part_text_set(legacy)

If efl_ui_widget_theme_apply is called,
In edje_object_part_text_raw_generic_set, the legacy flag becomes FALSE.
And in this case, the logic works in the unintended direction
because the set_markup flag is FALSE.

Test Plan:
/*
gcc -o entry_example entry.c `pkg-config --cflags --libs elementary`
 */

EAPI_MAIN int
elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
{
   Evas_Object *win, *en;

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

   win = elm_win_util_standard_add("entry-example", "test");
   elm_win_autodel_set(win, EINA_TRUE);
   en = elm_entry_add(win);
   evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   elm_object_part_text_set(en, "elm.guide", "<font_size=32 color=#FFF>TEST</font_size>");
   elm_entry_editable_set(en, EINA_FALSE);

   evas_object_show(en);

   elm_object_content_set(win, en);
   evas_object_resize(win, 300, 200);
   evas_object_show(win);

   elm_run();

   return 0;
}
ELM_MAIN()

Reviewers: woohyun, ali.alzyod

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11868

Change-Id: Ic65a0ca0df749f6f4feb0a21b7bccb62c70345f4

src/lib/edje/edje_util.c

index 3910344..a73278d 100644 (file)
@@ -7091,7 +7091,7 @@ edje_object_part_text_set(const Edje_Object *obj, const char *part, const char *
 
    ed = _edje_fetch(obj);
 
-   return _edje_efl_text_text_set((Eo *) obj, ed, part, text, EINA_TRUE, EINA_FALSE);
+   return _edje_efl_text_text_set((Eo *) obj, ed, part, text, EINA_TRUE, EINA_TRUE);
 }
 
 EAPI const char *