Evas textblock: Fixed a selection bug introduced in my previous commit.
authorTom Hacohen <tom@stosb.com>
Wed, 13 Feb 2013 12:42:44 +0000 (12:42 +0000)
committerTom Hacohen <tom@stosb.com>
Wed, 13 Feb 2013 12:42:44 +0000 (12:42 +0000)
I matched against the wrong values so it never included items in the middle
even when needed.

SVN revision: 83869

src/lib/evas/canvas/evas_object_textblock.c
src/tests/evas/evas_test_textblock.c

index ec8dc45..50c0be8 100644 (file)
@@ -9574,7 +9574,7 @@ _evas_textblock_cursor_range_in_line_geometry_get(
 
         while (it && (it != it2))
           {
-             if ((start <= it->text_pos) && (it->text_pos <= end))
+             if ((it1->text_pos <= it->text_pos) && (it->text_pos <= it2->text_pos))
                {
                   max_x = it->x + it->adv;
                }
index 2c76c47..c8dac73 100644 (file)
@@ -1436,6 +1436,18 @@ START_TEST(evas_textblock_geometries)
    EINA_LIST_FREE(rects, tr)
       free(tr);
 
+   /* Same run different styles */
+   evas_object_textblock_text_markup_set(tb, "test<b>test2</b>test3");
+
+   evas_textblock_cursor_pos_set(cur, 3);
+   evas_textblock_cursor_pos_set(main_cur, 11);
+   rects = evas_textblock_cursor_range_geometry_get(cur, main_cur);
+
+   fail_if(eina_list_count(rects) != 3);
+
+   EINA_LIST_FREE(rects, tr)
+      free(tr);
+
    END_TB_TEST();
 }
 END_TEST