From 62b4e2a2da911aba45505966686c8424d380eb26 Mon Sep 17 00:00:00 2001 From: Bowon Ryu Date: Mon, 6 Apr 2020 06:40:35 +0000 Subject: [PATCH] edje: fix cursor scrolling If there is a string larger than the size of entry and when the entry is auto scrolling, cursor is not visible. Using _edje_entry_cursor_geometry_get guarantees the minimum size of the cursor, and guarantee the size from edje. (min_restricted_calc) Reviewed-by: Ali Alzyod Differential Revision: https://phab.enlightenment.org/D11649 --- src/lib/edje/edje_legacy.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lib/edje/edje_legacy.c b/src/lib/edje/edje_legacy.c index 76a258c461..414de4f982 100644 --- a/src/lib/edje/edje_legacy.c +++ b/src/lib/edje/edje_legacy.c @@ -384,8 +384,12 @@ EAPI void edje_object_part_text_cursor_geometry_get(const Edje_Object *obj, const char * part EINA_UNUSED, int *x, int *y, int *w, int *h) { GET_REAL_PART_ON_FAIL_RETURN() - evas_textblock_cursor_geometry_bidi_get(_edje_text_cursor_get(rp, EDJE_CURSOR_MAIN), - x, y, w, h, NULL, NULL, NULL, NULL, EVAS_TEXTBLOCK_CURSOR_BEFORE); + if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) + { + _edje_entry_cursor_geometry_get(rp, x, y, w, h, NULL); + if (x) *x -= ed->x; + if (y) *y -= ed->y; + } } EAPI Eina_Bool