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