From: Choe Hwanjin Date: Sun, 22 Feb 2009 06:54:43 +0000 (+0900) Subject: Fix backspace processing: X-Git-Tag: 1.1.0.20090328~15 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f52a1addc37e5717d2a903fc894dcf76db1623b3;p=platform%2Fupstream%2Fibus-hangul.git Fix backspace processing: Preedit string needs to update after processing backspace key. --- diff --git a/src/engine.c b/src/engine.c index e22d77e..1658967 100644 --- a/src/engine.c +++ b/src/engine.c @@ -236,26 +236,23 @@ ibus_hangul_engine_process_key_event (IBusEngine *engine, if (keyval == IBUS_BackSpace) { retval = hangul_ic_backspace (hangul->context); - return retval; - } - - if (keyval >= IBUS_exclam && keyval <= IBUS_asciitilde) { + } else { retval = hangul_ic_process (hangul->context, keyval); + } - str = hangul_ic_get_commit_string (hangul->context); + str = hangul_ic_get_commit_string (hangul->context); + if (str != NULL && str[0] != 0) { + IBusText *text = ibus_text_new_from_ucs4 (str); + ibus_engine_commit_text ((IBusEngine *)hangul, text); + g_object_unref (text); + } - if (str != NULL && str[0] != 0) { - IBusText *text = ibus_text_new_from_ucs4 (str); - ibus_engine_commit_text ((IBusEngine *)hangul, text); - g_object_unref (text); - } + ibus_hangul_engine_update_preedit_text (hangul); - ibus_hangul_engine_update_preedit_text (hangul); - return retval; - } + if (!retval) + ibus_hangul_engine_flush (hangul); - ibus_hangul_engine_flush (hangul); - return FALSE; + return retval; } static void