From b55e50044958a7cbb9fd1274b5ecd653822731cb Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Mon, 18 Jun 2012 13:31:24 +0000 Subject: [PATCH] Edje entry: range_del_emit - only emit if there was a non-empty range. SVN revision: 72399 --- legacy/edje/src/lib/edje_entry.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/legacy/edje/src/lib/edje_entry.c b/legacy/edje/src/lib/edje_entry.c index d88f22323b..af1b633215 100644 --- a/legacy/edje/src/lib/edje_entry.c +++ b/legacy/edje/src/lib/edje_entry.c @@ -1048,10 +1048,15 @@ _range_del_emit(Edje *ed, Evas_Textblock_Cursor *c __UNUSED__, Evas_Object *o __ { size_t start, end; char *tmp; - Edje_Entry_Change_Info *info = calloc(1, sizeof(*info)); - info->insert = EINA_FALSE; + Edje_Entry_Change_Info *info; + start = evas_textblock_cursor_pos_get(en->sel_start); end = evas_textblock_cursor_pos_get(en->sel_end); + if (start == end) + goto noop; + + info = calloc(1, sizeof(*info)); + info->insert = EINA_FALSE; info->change.del.start = start; info->change.del.end = end; @@ -1062,6 +1067,7 @@ _range_del_emit(Edje *ed, Evas_Textblock_Cursor *c __UNUSED__, Evas_Object *o __ _edje_emit(ed, "entry,changed", en->rp->part->name); _edje_emit_full(ed, "entry,changed,user", en->rp->part->name, info, _free_entry_change_info); +noop: _sel_clear(en->cursor, en->rp->object, en); }