(sd->entry_edje, "elm.text", sd->input_panel_return_key_disabled);
if (sd->cursor_pos != 0)
- elm_entry_cursor_pos_set(obj, sd->cursor_pos);
+ {
+ // elm_entry_cursor_pos_set -> cursor,changed -> widget_show_region_set
+ // -> smart_objects_calculate will call all smart calculate functions,
+ // and one of them can delete elm_entry.
+ evas_object_ref(obj);
+ elm_entry_cursor_pos_set(obj, sd->cursor_pos);
+ }
if (elm_widget_focus_get(obj))
edje_object_signal_emit(sd->entry_edje, "elm,action,focus", "elm");
evas_object_smart_callback_call(obj, SIG_THEME_CHANGED, NULL);
+ if (sd->cursor_pos != 0)
+ evas_object_unref(obj);
+
if (ret) *ret = EINA_TRUE;
}
(sd->entry_edje, "elm.text", &cx, &cy, &cw, &ch);
if (sd->cur_changed)
{
- elm_widget_show_region_set(obj, cx, cy, cw, ch, EINA_FALSE);
sd->cur_changed = EINA_FALSE;
+ elm_widget_show_region_set(obj, cx, cy, cw, ch, EINA_FALSE);
}
}
else
(sd->entry_edje, "elm.text", &cx, &cy, &cw, &ch);
if (sd->cur_changed)
{
- elm_widget_show_region_set(data, cx, cy, cw, ch, EINA_FALSE);
sd->cur_changed = EINA_FALSE;
+ elm_widget_show_region_set(data, cx, cy, cw, ch, EINA_FALSE);
}
}
}