Index: src/IBusChewingEngine.gob |
diff --git a/src/IBusChewingEngine.gob b/src/IBusChewingEngine.gob |
index 643688a7b89d9d0abd24b5ef0f59d86fe769bf80..d8b3d6adf6bf01dc3e752c5be2bf491a99603408 100644 |
--- a/src/IBusChewingEngine.gob |
+++ b/src/IBusChewingEngine.gob |
@@ -937,10 +937,11 @@ class IBus:Chewing:Engine from IBus:Engine{ |
reset(IBus:Engine *engine){ |
G_DEBUG_MSG(1,"[I1] reset"); |
Self *self=SELF(engine); |
- if (self->_priv->statusFlags & ENGINE_STATUS_NEED_COMMIT){ |
- /* Force commit non-empty preedit buffer */ |
- self_force_commit(self); |
- } |
+ |
+ /* Always clean buffer */ |
+ chewing_handle_Esc(self->context); |
+ ibus_chewing_engine_clear_status_flag(self, ENGINE_STATUS_NEED_COMMIT | ENGINE_STATUS_FORCE_COMMIT ); |
+ |
ibus_lookup_table_clear(self->table); |
/* Save KBType type, ChiEng, and ShapeMode becaue chewing_Reset() will reset them to default. |
*/ |