Entry: Fix update of child size and location.

Before this commit, setting the text of an entry after the entry
has already been placed and sized, would cause the inside entry
(the one inside of the scroller) size to be the size of the viewport
instead of the real size. This would make some parts of the entry
unreachable.

This fixes T169.
This commit is contained in:
Tom Hacohen 2013-11-25 16:20:50 +00:00
parent 7152bea429
commit 80844cbcd7
1 changed files with 4 additions and 0 deletions

View File

@ -45,6 +45,7 @@ static void _e_entry_cb_paste(void *data, E_Menu *m, E_Menu_Item *mi);
static void _e_entry_cb_select_all(void *data, E_Menu *m, E_Menu_Item *mi);
static void _e_entry_cb_delete(void *data, E_Menu *m, E_Menu_Item *mi);
static void _e_entry_mouse_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
static void _entry_recalc_size(Evas_Object *object);
/* local subsystem globals */
static Evas_Smart *_e_entry_smart = NULL;
static int _e_entry_smart_use = 0;
@ -127,6 +128,9 @@ e_entry_text_set(Evas_Object *entry, const char *_text)
sd->changing--;
evas_object_smart_callback_call(entry, "changed", NULL);
free(text);
edje_object_size_min_calc(sd->entry_object, &sd->min_width, &sd->height);
_entry_recalc_size(entry);
}
/**