Fixed issue not to send the ise state variables to IMEngine 73/116573/1
authorInHong Han <inhong1.han@samsung.com>
Mon, 27 Feb 2017 04:01:34 +0000 (13:01 +0900)
committerInHong Han <inhong1.han@samsung.com>
Mon, 27 Feb 2017 05:38:38 +0000 (14:38 +0900)
Change-Id: If0f186895f6cb2104b8df9e838f8560c8b0130dd

ism/src/scim_helper.cpp

index 5546348..8c38e66 100644 (file)
@@ -946,8 +946,8 @@ HelperAgent::handle_message (MessageItem *message)
             if (m_impl->ise_show_flag || m_impl->hw_keyboard_mode) {
                 m_impl->signal_update_cursor_position (this, subclass->get_ic_ref(), subclass->get_ic_uuid_ref(),
                     subclass->get_cursor_pos_ref());
-                if (!m_impl->si.null ()) m_impl->si->update_cursor_position(subclass->get_cursor_pos_ref());
             }
+            if (!m_impl->si.null ()) m_impl->si->update_cursor_position(subclass->get_cursor_pos_ref());
             break;
         }
         case ISM_TRANS_CMD_UPDATE_SURROUNDING_TEXT:
@@ -1058,19 +1058,25 @@ HelperAgent::handle_message (MessageItem *message)
         case ISM_TRANS_CMD_SET_ISE_MODE:
         {
             MessageItemSetISEMode *subclass = static_cast<MessageItemSetISEMode*>(message);
-            m_impl->signal_set_mode (this, subclass->get_mode_ref());
+            if (m_impl->ise_show_flag || m_impl->hw_keyboard_mode) {
+                m_impl->signal_set_mode (this, subclass->get_mode_ref());
+            }
             break;
         }
         case ISM_TRANS_CMD_SET_ISE_LANGUAGE:
         {
             MessageItemSetISELanguage *subclass = static_cast<MessageItemSetISELanguage*>(message);
-            m_impl->signal_set_language (this, subclass->get_language_ref());
+            if (m_impl->ise_show_flag || m_impl->hw_keyboard_mode) {
+                m_impl->signal_set_language (this, subclass->get_language_ref());
+            }
             break;
         }
         case ISM_TRANS_CMD_SET_ISE_IMDATA:
         {
             MessageItemSetISEImData *subclass = static_cast<MessageItemSetISEImData*>(message);
-            m_impl->signal_set_imdata (this, *(subclass->get_imdata_ptr()), subclass->get_len_ref());
+            if (m_impl->ise_show_flag || m_impl->hw_keyboard_mode) {
+                m_impl->signal_set_imdata (this, *(subclass->get_imdata_ptr()), subclass->get_len_ref());
+            }
             if (!m_impl->si.null ()) m_impl->si->set_imdata(*(subclass->get_imdata_ptr()),
                 subclass->get_len_ref());
             break;
@@ -1164,8 +1170,8 @@ HelperAgent::handle_message (MessageItem *message)
             m_impl->layout = subclass->get_layout_ref();
             if (m_impl->ise_show_flag || m_impl->hw_keyboard_mode) {
                 m_impl->signal_set_layout (this, subclass->get_layout_ref());
-                if (!m_impl->si.null ()) m_impl->si->set_layout(subclass->get_layout_ref());
             }
+            if (!m_impl->si.null ()) m_impl->si->set_layout(subclass->get_layout_ref());
             break;
         }
         case ISM_TRANS_CMD_GET_LAYOUT:
@@ -1182,7 +1188,9 @@ HelperAgent::handle_message (MessageItem *message)
         case ISM_TRANS_CMD_SET_INPUT_MODE:
         {
             MessageItemSetInputMode *subclass = static_cast<MessageItemSetInputMode*>(message);
-            m_impl->signal_set_input_mode (this, subclass->get_input_mode_ref());
+            if (m_impl->ise_show_flag || m_impl->hw_keyboard_mode) {
+                m_impl->signal_set_input_mode (this, subclass->get_input_mode_ref());
+            }
             break;
         }
         case ISM_TRANS_CMD_SET_CAPS_MODE:
@@ -1364,7 +1372,9 @@ HelperAgent::handle_message (MessageItem *message)
         case ISM_TRANS_CMD_SET_INPUT_HINT:
         {
             MessageItemSetInputHint *subclass = static_cast<MessageItemSetInputHint*>(message);
-            m_impl->signal_set_input_hint (this, subclass->get_input_hint_ref());
+            if (m_impl->ise_show_flag || m_impl->hw_keyboard_mode) {
+                m_impl->signal_set_input_hint (this, subclass->get_input_hint_ref());
+            }
             if (!m_impl->si.null ()) m_impl->si->set_input_hint(subclass->get_input_hint_ref());
             break;
         }