forked from enlightenment/enventor
edc_editor: Fix not to set entry non-editable.
Since elm_entry_editable_set() reloads entry theme, the registered textblock of redoundo is replaced. This causes segmentation fault when ctxpopup is dismissed. Although entry is editable, entry text cannot not be changed if entry does not have focus.
This commit is contained in:
parent
cf78081977
commit
f5d344c129
|
@ -366,7 +366,6 @@ ctxpopup_candidate_dismiss_cb(void *data, Evas_Object *obj,
|
||||||
{
|
{
|
||||||
edit_data *ed = data;
|
edit_data *ed = data;
|
||||||
evas_object_del(obj);
|
evas_object_del(obj);
|
||||||
elm_entry_editable_set(ed->en_edit, EINA_TRUE);
|
|
||||||
elm_object_tree_focus_allow_set(ed->layout, EINA_TRUE);
|
elm_object_tree_focus_allow_set(ed->layout, EINA_TRUE);
|
||||||
elm_object_focus_set(ed->en_edit, EINA_TRUE);
|
elm_object_focus_set(ed->en_edit, EINA_TRUE);
|
||||||
evas_object_smart_callback_call(ed->enventor, SIG_CTXPOPUP_DISMISSED, NULL);
|
evas_object_smart_callback_call(ed->enventor, SIG_CTXPOPUP_DISMISSED, NULL);
|
||||||
|
@ -419,7 +418,6 @@ ctxpopup_preview_dismiss_cb(void *data, Evas_Object *obj,
|
||||||
|
|
||||||
//Since the ctxpopup will be shown again, Don't revert the focus.
|
//Since the ctxpopup will be shown again, Don't revert the focus.
|
||||||
if (skip_focus) return;
|
if (skip_focus) return;
|
||||||
elm_entry_editable_set(ed->en_edit, EINA_TRUE);
|
|
||||||
elm_object_tree_focus_allow_set(ed->layout, EINA_TRUE);
|
elm_object_tree_focus_allow_set(ed->layout, EINA_TRUE);
|
||||||
elm_object_focus_set(ed->en_edit, EINA_TRUE);
|
elm_object_focus_set(ed->en_edit, EINA_TRUE);
|
||||||
evas_object_smart_callback_call(ed->enventor, SIG_CTXPOPUP_DISMISSED, NULL);
|
evas_object_smart_callback_call(ed->enventor, SIG_CTXPOPUP_DISMISSED, NULL);
|
||||||
|
@ -549,7 +547,6 @@ image_preview_show(edit_data *ed, char *cur, Evas_Coord x, Evas_Coord y)
|
||||||
evas_object_event_callback_add(ctxpopup, EVAS_CALLBACK_DEL,
|
evas_object_event_callback_add(ctxpopup, EVAS_CALLBACK_DEL,
|
||||||
ctxpopup_del_cb, ed);
|
ctxpopup_del_cb, ed);
|
||||||
ed->ctxpopup = ctxpopup;
|
ed->ctxpopup = ctxpopup;
|
||||||
elm_entry_editable_set(ed->en_edit, EINA_FALSE);
|
|
||||||
elm_object_tree_focus_allow_set(ed->layout, EINA_FALSE);
|
elm_object_tree_focus_allow_set(ed->layout, EINA_FALSE);
|
||||||
succeed = EINA_TRUE;
|
succeed = EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
@ -584,7 +581,6 @@ candidate_list_show(edit_data *ed, char *text, char *cur, char *selected)
|
||||||
evas_object_show(ctxpopup);
|
evas_object_show(ctxpopup);
|
||||||
evas_object_event_callback_add(ctxpopup, EVAS_CALLBACK_DEL, ctxpopup_del_cb, ed);
|
evas_object_event_callback_add(ctxpopup, EVAS_CALLBACK_DEL, ctxpopup_del_cb, ed);
|
||||||
ed->ctxpopup = ctxpopup;
|
ed->ctxpopup = ctxpopup;
|
||||||
elm_entry_editable_set(ed->en_edit, EINA_FALSE);
|
|
||||||
elm_object_tree_focus_allow_set(ed->layout, EINA_FALSE);
|
elm_object_tree_focus_allow_set(ed->layout, EINA_FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1416,7 +1412,6 @@ edit_redoundo_region_push(edit_data *ed, int cursor_pos1, int cursor_pos2)
|
||||||
void
|
void
|
||||||
edit_disabled_set(edit_data *ed, Eina_Bool disabled)
|
edit_disabled_set(edit_data *ed, Eina_Bool disabled)
|
||||||
{
|
{
|
||||||
elm_entry_editable_set(ed->en_edit, !disabled);
|
|
||||||
elm_object_tree_focus_allow_set(ed->layout, !disabled);
|
elm_object_tree_focus_allow_set(ed->layout, !disabled);
|
||||||
|
|
||||||
if (disabled)
|
if (disabled)
|
||||||
|
|
Loading…
Reference in New Issue