summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeng Huang <shawn.p.huang@gmail.com>2010-05-29 05:42:14 +0800
committerPeng Huang <shawn.p.huang@gmail.com>2010-05-29 05:42:14 +0800
commit80d4092bc0f83b0cf9a0292b44fa033cf411fc54 (patch)
tree1c8690c7e9b4155a30bc021772155b040bedfce4
parente19ff554f28ed03f01423ff7d9ca6f9bac18f978 (diff)
downloadibus-libpinyin-80d4092bc0f83b0cf9a0292b44fa033cf411fc54.tar.gz
ibus-libpinyin-80d4092bc0f83b0cf9a0292b44fa033cf411fc54.tar.xz
ibus-libpinyin-80d4092bc0f83b0cf9a0292b44fa033cf411fc54.zip
Fix problem in PunctEditor.
-rw-r--r--src/PunctEditor.cc18
1 files changed, 5 insertions, 13 deletions
diff --git a/src/PunctEditor.cc b/src/PunctEditor.cc
index d39bcc6..32b7ce9 100644
--- a/src/PunctEditor.cc
+++ b/src/PunctEditor.cc
@@ -77,7 +77,7 @@ PunctEditor::insert (gchar ch)
inline gboolean
PunctEditor::processSpace (guint keyval, guint keycode, guint modifiers)
{
- if (!m_text)
+ if (m_punct_mode != MODE_INIT && m_punct_mode != MODE_NORMAL)
return FALSE;
if (CMSHM_FILTER (modifiers) != 0)
return TRUE;
@@ -224,9 +224,7 @@ void
PunctEditor::pageUp (void)
{
if (G_LIKELY (m_lookup_table.pageUp ())) {
- if (m_punct_mode == MODE_NORMAL) {
- m_selected_puncts[m_cursor - 1] = m_punct_candidates[m_lookup_table.cursorPos ()];
- }
+ m_selected_puncts[m_cursor - 1] = m_punct_candidates[m_lookup_table.cursorPos ()];
updateLookupTableFast (m_lookup_table, TRUE);
updatePreeditText ();
updateAuxiliaryText ();
@@ -237,9 +235,7 @@ void
PunctEditor::pageDown (void)
{
if (G_LIKELY (m_lookup_table.pageDown ())) {
- if (m_punct_mode == MODE_NORMAL) {
- m_selected_puncts[m_cursor - 1] = m_punct_candidates[m_lookup_table.cursorPos ()];
- }
+ m_selected_puncts[m_cursor - 1] = m_punct_candidates[m_lookup_table.cursorPos ()];
updateLookupTableFast (m_lookup_table, TRUE);
updatePreeditText ();
updateAuxiliaryText ();
@@ -250,9 +246,7 @@ void
PunctEditor::cursorUp (void)
{
if (G_LIKELY (m_lookup_table.cursorUp ())) {
- if (m_punct_mode == MODE_NORMAL) {
- m_selected_puncts[m_cursor - 1] = m_punct_candidates[m_lookup_table.cursorPos ()];
- }
+ m_selected_puncts[m_cursor - 1] = m_punct_candidates[m_lookup_table.cursorPos ()];
updateLookupTableFast (m_lookup_table, TRUE);
updatePreeditText ();
updateAuxiliaryText ();
@@ -263,9 +257,7 @@ void
PunctEditor::cursorDown (void)
{
if (G_LIKELY (m_lookup_table.cursorDown ())) {
- if (m_punct_mode == MODE_NORMAL) {
- m_selected_puncts[m_cursor - 1] = m_punct_candidates[m_lookup_table.cursorPos ()];
- }
+ m_selected_puncts[m_cursor - 1] = m_punct_candidates[m_lookup_table.cursorPos ()];
updateLookupTableFast (m_lookup_table, TRUE);
updatePreeditText ();
updateAuxiliaryText ();