summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/PYPPhoneticEditor.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/PYPPhoneticEditor.cc b/src/PYPPhoneticEditor.cc
index 0ef11d7..517bac4 100644
--- a/src/PYPPhoneticEditor.cc
+++ b/src/PYPPhoneticEditor.cc
@@ -365,8 +365,15 @@ PhoneticEditor::getLookupCursor (void)
{
guint lookup_cursor = getPinyinCursor ();
+ /* as pinyin_get_pinyin_offset can't handle the last "'" characters,
+ strip the string to work around it here. */
+ String stripped = m_text;
+ size_t pos = stripped.find_last_not_of ("'") + 1;
+ if (pos < stripped.length ())
+ stripped.erase (pos);
+
/* show candidates when pinyin cursor is at end. */
- if (lookup_cursor == m_text.length ())
+ if (lookup_cursor == stripped.length ())
lookup_cursor = 0;
return lookup_cursor;
}