diff --git a/honoka/src/honoka_imengine.cpp b/honoka/src/honoka_imengine.cpp index 53daba3..7fc091a 100644 --- a/honoka/src/honoka_imengine.cpp +++ b/honoka/src/honoka_imengine.cpp @@ -1400,8 +1400,12 @@ int p = m_convList.pos - m_lookup_table.get_current_page_size(); if (p < 0) p = 0; m_convList.pos = p; - if (!m_no_update) m_convertor->select(m_convList.pos); - updateConvertedString(); + if ((!m_no_update) && (m_conversion)) m_convertor->select(m_convList.pos); + if (m_conversion) updateConvertedString(); + if (m_prediction) { + update_preedit_string(m_convList.kouho[m_convList.pos].kanji); + update_preedit_caret(0); + } m_lookup_table.set_cursor_pos(m_convList.pos); update_aux_string(m_convList.Title + getPosPerCount(m_convList.pos,m_convList.count())); show_aux_string(); @@ -1418,8 +1422,12 @@ int p = m_convList.pos + m_lookup_table.get_current_page_size(); if (p >= m_convList.count()) p = m_convList.count() - 1; m_convList.pos = p; - if (!m_no_update) m_convertor->select(m_convList.pos); - updateConvertedString(); + if ((!m_no_update) && (m_conversion)) m_convertor->select(m_convList.pos); + if (m_conversion) updateConvertedString(); + if (m_prediction) { + update_preedit_string(m_convList.kouho[m_convList.pos].kanji); + update_preedit_caret(0); + } m_lookup_table.set_cursor_pos(m_convList.pos); update_aux_string(m_convList.Title + getPosPerCount(m_convList.pos,m_convList.count())); show_aux_string();