I've fixed this bug and commited to upstream already.

Attachment is patch.

If upstream doesn't yet update, we can patch it by ourself.

Cheers,
Fred

2011/3/25 Debian Bug Tracking System <[email protected]>

> Thank you for filing a new Bug report with Debian.
>
> This is an automatically generated reply to let you know your message
> has been received.
>
> Your message is being forwarded to the package maintainers and other
> interested parties for their attention; they will reply in due course.
>
> Your message has been sent to the package maintainer(s):
>  IME Packaging Team <[email protected]>
>
> If you wish to submit further information on this problem, please
> send it to [email protected].
>
> Please do not send mail to [email protected] unless you wish
> to report a problem with the Bug-tracking system.
>
> --
> 619604: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=619604
> Debian Bug Tracking System
> Contact [email protected] with problems
>
--- a/src/IBusChewingEngine.gob	2011-03-26 16:54:15.000000000 +0800
+++ b/src/IBusChewingEngine.gob	2011-03-26 16:55:58.000000000 +0800
@@ -762,6 +762,22 @@
 		    }
 		    break;
 		case CHEWING_INPUT_MODE_SELECTING:
+			/* ESC to cancel input mode */
+			if (self->chewingFlags & CHEWING_FLAG_PLAIN_ZHUYIN) {
+				if (chewing_get_escCleanAllBuf(self->context) &&
+					self->_priv->key_last == IBUS_Escape) {
+
+					/* Close candidate window */
+					self->inputMode=CHEWING_INPUT_MODE_SELECTION_DONE;
+					chewing_handle_Esc(self->context);
+					ibus_chewing_engine_clear_status_flag(self, ENGINE_STATUS_SHOW_CANDIDATE);
+					break;
+				}
+
+				chewing_handle_Down(self->context);
+				break;
+			}
+
 		    /* Switch to another page */
 		    if (self_is_selectKey(self, self->_priv->key_last)){
 			self->inputMode=CHEWING_INPUT_MODE_SELECTION_DONE;

Reply via email to