diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/PYPBopomofoEditor.cc | 17 | ||||
-rw-r--r-- | src/PYPPinyinEditor.cc | 17 |
2 files changed, 18 insertions, 16 deletions
diff --git a/src/PYPBopomofoEditor.cc b/src/PYPBopomofoEditor.cc index fd688ad..8d49614 100644 --- a/src/PYPBopomofoEditor.cc +++ b/src/PYPBopomofoEditor.cc @@ -310,16 +310,14 @@ BopomofoEditor::updatePreeditText () } m_buffer.clear (); - char *tmp = NULL; - pinyin_get_sentence(m_instance, &tmp); - if (tmp) { + char *sentence = NULL; + pinyin_get_sentence(m_instance, &sentence); + if (sentence) { if (m_props.modeSimp ()) { - m_buffer<<tmp; + m_buffer<<sentence; } else { - SimpTradConverter::simpToTrad (tmp, m_buffer); + SimpTradConverter::simpToTrad (sentence, m_buffer); } - g_free (tmp); - tmp = NULL; } /* append rest text */ @@ -332,8 +330,11 @@ BopomofoEditor::updatePreeditText () size_t offset = 0; guint cursor = getPinyinCursor (); - pinyin_get_character_offset(m_instance, cursor, &offset); + pinyin_get_character_offset(m_instance, sentence, cursor, &offset); Editor::updatePreeditText (preedit_text, offset, TRUE); + + if (sentence) + g_free (sentence); } void diff --git a/src/PYPPinyinEditor.cc b/src/PYPPinyinEditor.cc index 2e614f2..b7ab8c3 100644 --- a/src/PYPPinyinEditor.cc +++ b/src/PYPPinyinEditor.cc @@ -246,16 +246,14 @@ PinyinEditor::updatePreeditText () } m_buffer.clear (); - char *tmp = NULL; - pinyin_get_sentence (m_instance, &tmp); - if (tmp) { + char *sentence = NULL; + pinyin_get_sentence (m_instance, &sentence); + if (sentence) { if (m_props.modeSimp ()) { - m_buffer<<tmp; + m_buffer<<sentence; } else { - SimpTradConverter::simpToTrad (tmp, m_buffer); + SimpTradConverter::simpToTrad (sentence, m_buffer); } - g_free (tmp); - tmp = NULL; } /* append rest text */ @@ -268,8 +266,11 @@ PinyinEditor::updatePreeditText () size_t offset = 0; guint cursor = getPinyinCursor (); - pinyin_get_character_offset(m_instance, cursor, &offset); + pinyin_get_character_offset(m_instance, sentence, cursor, &offset); Editor::updatePreeditText (preedit_text, offset, TRUE); + + if (sentence) + g_free (sentence); } #if 0 |