From 9dec19f51ff80b4f2cdace9f021af3da1300ae02 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Fri, 23 Nov 2012 19:56:32 +0900 Subject: [PATCH] reduce time to process autocapital Change-Id: If05263aebc53a626a55270400e169e3eac784d63 --- ism/extras/efl_immodule/isf_imf_context.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/ism/extras/efl_immodule/isf_imf_context.cpp b/ism/extras/efl_immodule/isf_imf_context.cpp index 57d6332..af05c14 100644 --- a/ism/extras/efl_immodule/isf_imf_context.cpp +++ b/ism/extras/efl_immodule/isf_imf_context.cpp @@ -573,8 +573,7 @@ analyze_surrounding_text (Ecore_IMF_Context *ctx) context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); if (!context_scim || !context_scim->impl) return EINA_FALSE; - switch (context_scim->impl->autocapital_type) - { + switch (context_scim->impl->autocapital_type) { case ECORE_IMF_AUTOCAPITAL_TYPE_NONE: return EINA_FALSE; case ECORE_IMF_AUTOCAPITAL_TYPE_ALLCHARACTER: @@ -583,6 +582,9 @@ analyze_surrounding_text (Ecore_IMF_Context *ctx) break; } + if (context_scim->impl->cursor_pos == 0) + return EINA_TRUE; + for (i = 0; i < punc_num; i++) { uni_puncs[i] = eina_unicode_utf8_to_unicode (puncs[i], NULL); } @@ -1256,11 +1258,11 @@ isf_imf_context_cursor_position_set (Ecore_IMF_Context *ctx, int cursor_pos) if (context_scim && context_scim->impl && context_scim == _focused_ic) { if (context_scim->impl->cursor_pos != cursor_pos) { - caps_mode_check (ctx, EINA_FALSE, EINA_TRUE); - LOGD ("[cursor_position_set] ctx : %p, cursor pos : %d\n", ctx, cursor_pos); - context_scim->impl->cursor_pos = cursor_pos; + + caps_mode_check (ctx, EINA_FALSE, EINA_TRUE); + if (context_scim->impl->preedit_updating) return; _panel_client.prepare (context_scim->id); -- 2.7.4