Revert "Revert "Modified not to send commit strings when reset needed"" 89/86589/1
authorJi-hoon Lee <dalton.lee@samsung.com>
Fri, 2 Sep 2016 04:07:13 +0000 (13:07 +0900)
committerJi-hoon Lee <dalton.lee@samsung.com>
Fri, 2 Sep 2016 04:07:20 +0000 (13:07 +0900)
This reverts commit 378ca610c6102c7c0c455b2ff2cd28f215e42d85.

Change-Id: Ib3aef379f1aac5fc2aec1ad7ab2e721bd467f9e6

src/ise.cpp
src/sdk/sdk.cpp

index 3875022..27797cc 100644 (file)
@@ -263,7 +263,6 @@ static void _reset_multitap_state()
     LOGD("g_keyboard_state.prev_modifier : %d", g_keyboard_state.prev_modifier);
     if (g_keyboard_state.prev_modifier == KEY_MODIFIER_MULTITAP_START ||
         g_keyboard_state.prev_modifier == KEY_MODIFIER_MULTITAP_REPEAT) {
-        ise_send_string(g_keyboard_state.multitap_value.c_str());
         ise_update_preedit_string("");
     }
     g_keyboard_state.multitap_value = "";
index 37757ec..35440b9 100644 (file)
@@ -155,7 +155,7 @@ int iconv_string(const char *from, const char *to, const char *src, char *dst, s
     return(dstlen - outleftsize);
 }
 
-int process_korean_automata(int is_consonant, unsigned short key_index)
+int process_korean_automata(int is_consonant, unsigned short key_index, bool skip_commit = false)
 {
     MADECODE madecode = {0};
     MAKECODE makecode = { 0 };
@@ -164,10 +164,12 @@ int process_korean_automata(int is_consonant, unsigned short key_index)
     makecode = CJI_GetMakeCode();
 
     int ret = CJI_Automata(is_consonant, key_index, &madecode);
-    iconv_string(AUTOMATA_BASE_ENCODING, SYSTEM_OUTPUT_ENCODING,
-        (const char*)(madecode.ucode), buffer, madecode.size * 2, KOREAN_ENCODING_BUFFER_SIZE);
-    if (buffer[0]) {
-        ise_send_string(buffer);
+    if (!skip_commit) {
+        iconv_string(AUTOMATA_BASE_ENCODING, SYSTEM_OUTPUT_ENCODING,
+            (const char*)(madecode.ucode), buffer, madecode.size * 2, KOREAN_ENCODING_BUFFER_SIZE);
+        if (buffer[0]) {
+            ise_send_string(buffer);
+        }
     }
     iconv_string(AUTOMATA_BASE_ENCODING, SYSTEM_OUTPUT_ENCODING,
         (const char*)(CJI_GetMakeCode().ucode), buffer, CJI_GetMakeCode().size * 2, KOREAN_ENCODING_BUFFER_SIZE);
@@ -495,7 +497,6 @@ sclboolean CSDKISE::flush_imengine(const sclchar *language)
 
     if (g_keyboard_state.prev_modifier == KEY_MODIFIER_MULTITAP_START ||
         g_keyboard_state.prev_modifier == KEY_MODIFIER_MULTITAP_REPEAT) {
-        ise_send_string(g_keyboard_state.multitap_value.c_str());
         ise_update_preedit_string("");
     }
     g_keyboard_state.multitap_value = "";
@@ -513,7 +514,7 @@ sclboolean CSDKISE::flush_imengine(const sclchar *language)
         }
     }
     if (strcmp(_language_manager.get_current_language(), "Korean") == 0) {
-        process_korean_automata(false, SIPKEY_ERROR);
+        process_korean_automata(false, SIPKEY_ERROR, true);
     }
 
     return bRet;