It could be fixed by the below modifiation.
However, I'm not sure about the design of (self->_priv->statusFlags &
ENGINE_STATUS_NEED_COMMIT).
It still need checking.
protected gboolean check_commit(self){
gint isCommit=chewing_commit_Check(self->context);
gint committed=FALSE;
G_DEBUG_MSG(2,"[I2] check_commit() %s statusFlags=%x", (isCommit) ?
"TRUE": "FALSE", self->_priv->statusFlags);
if (isCommit && (self->_priv->statusFlags & ENGINE_STATUS_NEED_COMMIT)){
//if (isCommit){
self_commit(self);
committed =TRUE;
}
if (chewing_buffer_Check(self->context)){
/* Buffer is empty, safe to clear the ENGINE_STATUS_NEED_COMMIT */
ibus_chewing_engine_clear_status_flag(self,
ENGINE_STATUS_NEED_COMMIT);
}
return committed;
}
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1014456
Title:
ibus-chewing deletes characters if too many of them are entered
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ibus-chewing/+bug/1014456/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs