summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiroshi Sumita <hsumita@google.com>2012-02-29 11:12:46 +0900
committerHiroshi Sumita <hsumita@google.com>2012-02-29 11:12:46 +0900
commita4eb9289335d7c51d62596e212ab795ba12b7955 (patch)
tree38fc459ed622f5d5babbb8e08dba553c995d9c84
parentfbbd9d276c113ec0ad0af2d8e61c778f9beeae30 (diff)
downloadpyzy-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.cc8
-rw-r--r--src/PyZyPinyinContext.cc12
-rw-r--r--src/PyZyString.h5
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);