+2013-02-08 Tom Hacohen (TAsn)
+
+ * Evas textblock: Fixed a selection issue with different scripts and
+ bidi.
+
2013-02-08 Guillaume Friloux
* Fix usage of Ecore_Con_Server's internal buffer.
* ecore_wayland: Add ecore_wl_globals_get
2013-02-04 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
-
* evas: Stop initializing and shutting Fontconfig down
2013-02-04 Cedric Bail
* Fix memleak in Eina_File.
* Fix ecore_x_screen_is_composited/set() to work on multihead.
* Fix memory usage of Ecore_Con_Server
+ * Evas textblock: Fixed a selection issue with different scripts and bidi.
while (it && (it != it2))
{
- max_x = it->x + it->adv;
+ if ((start <= it->text_pos) && (it->text_pos <= end))
+ {
+ max_x = it->x + it->adv;
+ }
it = (Evas_Object_Textblock_Item *) EINA_INLIST_GET(it)->next;
}
if (min_x != max_x)
fail_if((tr->x != tr2->x) || (tr->y != tr2->y) || (tr->w != tr2->w) ||
(tr->h != tr2->h));
+ EINA_LIST_FREE(rects, tr)
+ free(tr);
+ EINA_LIST_FREE(rects2, tr2)
+ free(tr2);
+
/* Multiline range */
evas_textblock_cursor_pos_set(cur, 0);
evas_textblock_cursor_pos_set(main_cur, 14);
tr2 = eina_list_data_get(eina_list_next(rects));
fail_if(tr->y >= tr2->y);
+ EINA_LIST_FREE(rects, tr)
+ free(tr);
+ EINA_LIST_FREE(rects2, tr2)
+ free(tr2);
+
+ /* Same run different scripts */
+ evas_object_textblock_text_markup_set(tb, "עבריתenglishрусскийעברית");
+
+ evas_textblock_cursor_pos_set(cur, 3);
+ evas_textblock_cursor_pos_set(main_cur, 7);
+ rects = evas_textblock_cursor_range_geometry_get(cur, main_cur);
+
+ fail_if(eina_list_count(rects) != 2);
+
+ EINA_LIST_FREE(rects, tr)
+ free(tr);
+
END_TB_TEST();
}
END_TEST