diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c index 8066f08732..a30ca1366f 100644 --- a/src/lib/evas/canvas/evas_object_textblock.c +++ b/src/lib/evas/canvas/evas_object_textblock.c @@ -757,13 +757,16 @@ _style_match_tag(const Evas_Textblock_Style *ts, const char *s, size_t tag_len, Evas_Object_Style_Tag *tag; /* Try the style tags */ - EINA_INLIST_FOREACH(ts->tags, tag) + if (ts) { - if (tag->tag.tag_len != tag_len) continue; - if (!strncmp(tag->tag.tag, s, tag_len)) + EINA_INLIST_FOREACH(ts->tags, tag) { - *replace_len = tag->tag.replace_len; - return tag->tag.replace; + if (tag->tag.tag_len != tag_len) continue; + if (!strncmp(tag->tag.tag, s, tag_len)) + { + *replace_len = tag->tag.replace_len; + return tag->tag.replace; + } } } diff --git a/src/tests/evas/evas_test_textblock.c b/src/tests/evas/evas_test_textblock.c index 63da9028e8..1473f99354 100644 --- a/src/tests/evas/evas_test_textblock.c +++ b/src/tests/evas/evas_test_textblock.c @@ -68,6 +68,14 @@ START_TEST(evas_textblock_simple) const char *buf = "This is a
test."; evas_object_textblock_text_markup_set(tb, buf); fail_if(strcmp(evas_object_textblock_text_markup_get(tb), buf)); + + /* Set markup text(includes tag) without setting style */ + Evas_Object *tb2 = evas_object_textblock_add(evas); + fail_if(!tb2); + evas_object_textblock_text_markup_set(tb2, buf); + ck_assert("Crash Not occurred"); + evas_object_del(tb2); + END_TB_TEST(); } END_TEST