diff --git a/legacy/elementary/ChangeLog b/legacy/elementary/ChangeLog index 45c1e0c945..05f29c6253 100644 --- a/legacy/elementary/ChangeLog +++ b/legacy/elementary/ChangeLog @@ -932,3 +932,7 @@ 2013-01-18 Thiep Ha (thiep.ha@samsung.com) * Fix memory leak of the ctxpopup and callback function to be a ctxpoup obj is delivered to. + +2013-01-19 WooHyun Jung + + * When string in entry is changed, access to sd should be forbidden after smart_callback_call is called. diff --git a/legacy/elementary/src/lib/elm_entry.c b/legacy/elementary/src/lib/elm_entry.c index 245010a270..f3b7203a96 100644 --- a/legacy/elementary/src/lib/elm_entry.c +++ b/legacy/elementary/src/lib/elm_entry.c @@ -1463,10 +1463,7 @@ _entry_changed_handle(void *data, evas_event_thaw_eval(evas_object_evas_get(data)); if ((sd->auto_save) && (sd->file)) sd->delay_write = ecore_timer_add(2.0, _delay_write, data); - /* callback - this could call callbacks that delete the - * entry... thus... any access to sd after this could be - * invalid */ - evas_object_smart_callback_call(data, event, NULL); + _return_key_enabled_check(data); text = edje_object_part_text_get(sd->entry_edje, "elm.text"); if (text) @@ -1476,6 +1473,10 @@ _entry_changed_handle(void *data, else _elm_entry_guide_update(data, EINA_FALSE); } + /* callback - this could call callbacks that delete the + * entry... thus... any access to sd after this could be + * invalid */ + evas_object_smart_callback_call(data, event, NULL); } static void