diff options
author | Tom Hacohen <tom@stosb.com> | 2015-06-26 15:11:17 +0100 |
---|---|---|
committer | Tom Hacohen <tom@stosb.com> | 2015-06-26 15:21:59 +0100 |
commit | b360084d0dcb3173e362f3ce4862d53e8098bedf (patch) | |
tree | 517fc27a3fa1e0d4dd5fe53efa0f2b356b87b0c7 | |
parent | fbfeb9af4833c94b914311bffc3d1938c5cc6198 (diff) | |
download | efl-b360084d0dcb3173e362f3ce4862d53e8098bedf.tar.gz |
Evas textblock: Fix issue with line_coord_set and y before the first line.
Let's assume we have a textblock with one paragraph at y = 3 and h = 50
At the moment, passing 60 (after the paragraph) to line_coord_set picks
the last line, however passing 0, just fails. This fixes that.
Thanks to Vladyslav Shevchenko for reporting it in D2574.
@fix
-rw-r--r-- | src/lib/evas/canvas/evas_object_textblock.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c index c8cf754094..23522812d4 100644 --- a/src/lib/evas/canvas/evas_object_textblock.c +++ b/src/lib/evas/canvas/evas_object_textblock.c @@ -10200,6 +10200,13 @@ evas_textblock_cursor_line_coord_set(Evas_Textblock_Cursor *cur, Evas_Coord y) if (found_par) { + /* If we are before the first paragraph, use the first position in the text */ + if ((found_par->y >= y) && (!EINA_INLIST_GET(found_par)->prev)) + { + evas_textblock_cursor_paragraph_first(cur); + return 0; + } + _layout_paragraph_render(o, found_par); EINA_INLIST_FOREACH(found_par->lines, ln) { |