summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Hacohen <tom@stosb.com>2013-11-25 16:20:50 +0000
committerTom Hacohen <tom@stosb.com>2013-11-25 16:25:34 +0000
commit0fc17879bc4461f8656ae0234930b9f432c55a12 (patch)
tree46ef1a08eb072e15c6e9eece43a5aca0b099ccb0
parent5cab004a75edc3fa3633e383f8755fc2fa8fd45c (diff)
downloadenlightenment-0fc17879bc4461f8656ae0234930b9f432c55a12.tar.gz
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. Conflicts: src/bin/e_entry.c
-rw-r--r--src/bin/e_entry.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/bin/e_entry.c b/src/bin/e_entry.c
index d819e78533..623c7a17a2 100644
--- a/src/bin/e_entry.c
+++ b/src/bin/e_entry.c
@@ -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;
@@ -128,6 +129,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);
}
/**