diff options
author | Hiroshi Sumita <hsumita@google.com> | 2012-02-29 11:12:46 +0900 |
---|---|---|
committer | Hiroshi Sumita <hsumita@google.com> | 2012-02-29 11:12:46 +0900 |
commit | a4eb9289335d7c51d62596e212ab795ba12b7955 (patch) | |
tree | 38fc459ed622f5d5babbb8e08dba553c995d9c84 | |
parent | fbbd9d276c113ec0ad0af2d8e61c778f9beeae30 (diff) | |
download | pyzy-a4eb9289335d7c51d62596e212ab795ba12b7955.tar.gz |
Fixed some bugs related to rest_text().
BUG=rest_text() returns incorrect value in some situation.
TEST=Manually tested with client code.
Review URL: https://codereview.appspot.com/5694088
-rw-r--r-- | src/PyZyBopomofoContext.cc | 8 | ||||
-rw-r--r-- | src/PyZyPinyinContext.cc | 12 | ||||
-rw-r--r-- | src/PyZyString.h | 5 |
3 files changed, 9 insertions, 16 deletions
diff --git a/src/PyZyBopomofoContext.cc b/src/PyZyBopomofoContext.cc index e99d199..f568936 100644 --- a/src/PyZyBopomofoContext.cc +++ b/src/PyZyBopomofoContext.cc @@ -428,11 +428,9 @@ BopomofoContext::updatePreeditText (void) } } - if (edit_end_byte != 0) { - m_preedit_text.selected_text = m_buffer.substr (0, edit_begin_byte); - m_preedit_text.candidate_text = m_buffer.substr (edit_begin_byte, edit_end_byte - edit_begin_byte); - m_preedit_text.rest_text = m_buffer.substr (edit_end_byte); - } + m_preedit_text.selected_text = m_buffer.substr (0, edit_begin_byte); + m_preedit_text.candidate_text = m_buffer.substr (edit_begin_byte, edit_end_byte - edit_begin_byte); + m_preedit_text.rest_text = m_buffer.substr (edit_end_byte); PhoneticContext::updatePreeditText (); } diff --git a/src/PyZyPinyinContext.cc b/src/PyZyPinyinContext.cc index 3447b2e..ff9aec7 100644 --- a/src/PyZyPinyinContext.cc +++ b/src/PyZyPinyinContext.cc @@ -138,15 +138,15 @@ PinyinContext::updatePreeditText () } } else { - m_preedit_text.rest_text = textAfterPinyin (); + edit_end_word = m_buffer.utf8Length (); + edit_end_byte = m_buffer.size (); + m_buffer << textAfterPinyin (); } } - if (edit_end_byte != 0) { - m_preedit_text.selected_text = m_buffer.substr (0, edit_begin_byte); - m_preedit_text.candidate_text = m_buffer.substr (edit_begin_byte, edit_end_byte - edit_begin_byte); - m_preedit_text.rest_text = m_buffer.substr (edit_end_byte); - } + m_preedit_text.selected_text = m_buffer.substr (0, edit_begin_byte); + m_preedit_text.candidate_text = m_buffer.substr (edit_begin_byte, edit_end_byte - edit_begin_byte); + m_preedit_text.rest_text = m_buffer.substr (edit_end_byte); PhoneticContext::updatePreeditText (); } diff --git a/src/PyZyString.h b/src/PyZyString.h index f4ae4a7..f0b2328 100644 --- a/src/PyZyString.h +++ b/src/PyZyString.h @@ -115,11 +115,6 @@ public: return appendPrintf ("%d", i); } - String & operator<< (size_t i) - { - return appendPrintf("%zd", i); - } - String & operator<< (unsigned int i) { return appendPrintf ("%u", i); |