From 585755f10047372881eda29fcacb99f1b166fa17 Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Tue, 15 Oct 2013 02:30:36 +0900 Subject: [PATCH] enventor - fix the crash whenever u rename the group. the envetor tried to create a new group layout whenever the group name is changed. In the end, the layouts count is getting increased unnecessarily if user are renaming the group. Now it only creates a new group layout after user saved the edc. --- src/bin/edc_editor.c | 10 ++++++---- src/bin/edj_mgr.c | 3 +++ src/bin/edj_viewer.c | 1 - 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/bin/edc_editor.c b/src/bin/edc_editor.c index 4af7c26..6cc03b4 100644 --- a/src/bin/edc_editor.c +++ b/src/bin/edc_editor.c @@ -196,6 +196,8 @@ edit_save(edit_data *ed) //FIXME: If compile edc here? we can edit_changed FALSE; //ed->edit_changed = EINA_FALSE; + edit_view_sync(ed); + return EINA_TRUE; } @@ -600,8 +602,8 @@ edit_view_sync(edit_data *ed) } static void -edit_cursor_changed_cb(void *data, Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) +edit_cursor_changed_manual_cb(void *data, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) { edit_data *ed = data; cur_line_pos_set(ed); @@ -694,8 +696,8 @@ edit_init(Evas_Object *parent, stats_data *sd, config_data *cd) elm_entry_context_menu_disabled_set(en_edit, EINA_TRUE); elm_entry_line_wrap_set(en_edit, EINA_FALSE); evas_object_smart_callback_add(en_edit, "changed,user", edit_changed_cb, ed); - evas_object_smart_callback_add(en_edit, "cursor,changed", - edit_cursor_changed_cb, ed); + evas_object_smart_callback_add(en_edit, "cursor,changed,manual", + edit_cursor_changed_manual_cb, ed); evas_object_smart_callback_add(en_edit, "clicked,double", edit_cursor_double_clicked_cb, ed); evas_object_size_hint_weight_set(en_edit, EVAS_HINT_EXPAND, diff --git a/src/bin/edj_mgr.c b/src/bin/edj_mgr.c index 0a2fbf1..0048aa0 100644 --- a/src/bin/edj_mgr.c +++ b/src/bin/edj_mgr.c @@ -145,6 +145,9 @@ edj_mgr_view_switch_to(edj_mgr *em, view_data *vd) //Switching effect if (prev && (prev != view_obj_get(vd))) { + Evas_Object *tmp = + elm_object_part_content_unset(em->layout, "elm.swallow.prev"); + if (tmp) evas_object_hide(tmp); elm_object_part_content_set(em->layout, "elm.swallow.prev", prev); elm_object_signal_emit(em->layout, "elm,view,switch", ""); } diff --git a/src/bin/edj_viewer.c b/src/bin/edj_viewer.c index 3c65bd4..2dfd6b5 100644 --- a/src/bin/edj_viewer.c +++ b/src/bin/edj_viewer.c @@ -268,7 +268,6 @@ view_term(view_data *vd) if (vd->part_obj) evas_object_event_callback_del(vd->part_obj, EVAS_CALLBACK_DEL, part_obj_del_cb); - evas_object_del(vd->scroller); if (vd->idler) ecore_idler_del(vd->idler);