diff --git a/src/lib/evas/common/evas_text_utils.c b/src/lib/evas/common/evas_text_utils.c index 2b436952f4..dc2407fee4 100644 --- a/src/lib/evas/common/evas_text_utils.c +++ b/src/lib/evas/common/evas_text_utils.c @@ -180,6 +180,10 @@ evas_common_text_props_index_find(const Evas_Text_Props *props, int _cutoff) int max = props->len - 1; int mid; + /* Props can be empty, verify they are not before going on. */ + if (!props->info) + return -1; + _cutoff += props->text_offset; ot_info = props->info->ot + props->start; /* Should get us closer to the right place. */ diff --git a/src/tests/evas/evas_test_textblock.c b/src/tests/evas/evas_test_textblock.c index 4c48b60ae2..d8949e218b 100644 --- a/src/tests/evas/evas_test_textblock.c +++ b/src/tests/evas/evas_test_textblock.c @@ -2612,6 +2612,9 @@ START_TEST(evas_textblock_formats) evas_object_textblock_text_markup_prepend(cur, ""); ck_assert_str_eq(evas_object_textblock_text_markup_get(tb), "abc
def"); + /* Ligatures cut by formats */ + evas_object_textblock_text_markup_set(tb, "fif"); + evas_object_textblock_size_formatted_get(tb, NULL, NULL); END_TB_TEST(); }