diff --git a/legacy/elementary/ChangeLog b/legacy/elementary/ChangeLog index 1a454be79b..cb251552f5 100644 --- a/legacy/elementary/ChangeLog +++ b/legacy/elementary/ChangeLog @@ -1503,3 +1503,10 @@ 2013-07-13 Daniel Juyung Seo * Fix elm_object_item_part_content_set bug with end content in elm_list. + +2013-07-14 ChunEon Park (Hermet) + + * Entry : Change the keyboard mode only if the imf is not available. If + the imf is available, the keyboard mode should be decided by ime, but + not entry. This prevents the asynchronous states between ime and + conformant. diff --git a/legacy/elementary/NEWS b/legacy/elementary/NEWS index fd0450f83f..4624a5b1cd 100644 --- a/legacy/elementary/NEWS +++ b/legacy/elementary/NEWS @@ -261,6 +261,9 @@ Fixes: * Fix Segfault in elementary file_selector_example when closed * Fix Showing multiple popups in Entry. * Fix elm_object_item_part_content_set bug with end content in elm_list. + * Entry: Change the keyboard mode only if the imf is not available. If the + imf is available, the keyboard mode should be decided by ime, but not entry. + This prevents the asynchronous states between ime and conformant. Removals: diff --git a/legacy/elementary/src/lib/elm_entry.c b/legacy/elementary/src/lib/elm_entry.c index d937d12359..5ae4e1b6d7 100644 --- a/legacy/elementary/src/lib/elm_entry.c +++ b/legacy/elementary/src/lib/elm_entry.c @@ -858,7 +858,8 @@ _elm_entry_smart_on_focus(Eo *obj, void *_pd EINA_UNUSED, va_list *list) { evas_object_focus_set(sd->entry_edje, EINA_TRUE); edje_object_signal_emit(sd->entry_edje, "elm,action,focus", "elm"); - if (top && top_is_win && sd->input_panel_enable) + if (top && top_is_win && sd->input_panel_enable && + !edje_object_part_text_imf_context_get(sd->entry_edje, "elm.text")) elm_win_keyboard_mode_set(top, ELM_WIN_KEYBOARD_ON); evas_object_smart_callback_call(obj, SIG_FOCUSED, NULL); _return_key_enabled_check(obj); @@ -867,7 +868,8 @@ _elm_entry_smart_on_focus(Eo *obj, void *_pd EINA_UNUSED, va_list *list) { edje_object_signal_emit(sd->entry_edje, "elm,action,unfocus", "elm"); evas_object_focus_set(sd->entry_edje, EINA_FALSE); - if (top && top_is_win && sd->input_panel_enable) + if (top && top_is_win && sd->input_panel_enable && + !edje_object_part_text_imf_context_get(sd->entry_edje, "elm.text")) elm_win_keyboard_mode_set(top, ELM_WIN_KEYBOARD_OFF); evas_object_smart_callback_call(obj, SIG_UNFOCUSED, NULL);