summaryrefslogtreecommitdiff
path: root/ism/src/scim_helper.cpp
diff options
context:
space:
mode:
authorLi Zhang <li2012.zhang@samsung.com>2016-05-13 18:46:13 +0800
committerLi Zhang <li2012.zhang@samsung.com>2016-05-13 18:46:13 +0800
commitc501f28596a3f6cd0ee51801dee1fae32c94b0b8 (patch)
treeddd5dea41eb1870eaca64b57bfe4a9b3c1f65950 /ism/src/scim_helper.cpp
parent6de1ffe3ca6f03ffa72f3c61c767d71c9c47fdb0 (diff)
downloadisf-c501f28596a3f6cd0ee51801dee1fae32c94b0b8.tar.gz
isf-c501f28596a3f6cd0ee51801dee1fae32c94b0b8.tar.bz2
isf-c501f28596a3f6cd0ee51801dee1fae32c94b0b8.zip
Invoking set_layout() when changing IMEngine
Change-Id: Ib325b62a7bf3eb2f20cbd03c857f43d30ff42aa6
Diffstat (limited to 'ism/src/scim_helper.cpp')
-rw-r--r--ism/src/scim_helper.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/ism/src/scim_helper.cpp b/ism/src/scim_helper.cpp
index 1820d6c6..914286c3 100644
--- a/ism/src/scim_helper.cpp
+++ b/ism/src/scim_helper.cpp
@@ -146,6 +146,7 @@ public:
uint32 cursor_pos;
bool need_update_surrounding_text;
bool need_update_selection_text;
+ uint32 layout;
HelperAgentSignalVoid signal_exit;
HelperAgentSignalVoid signal_attach_input_context;
@@ -209,7 +210,8 @@ public:
public:
HelperAgentImpl (HelperAgent* thiz) : focused_ic ((uint32) -1), thiz (thiz),
surrounding_text (NULL), selection_text (NULL), cursor_pos (0),
- need_update_surrounding_text (false), need_update_selection_text (false) {
+ need_update_surrounding_text (false), need_update_selection_text (false),
+ layout (0) {
}
~HelperAgentImpl () {
@@ -1053,6 +1055,7 @@ HelperAgent::filter_event ()
uint32 layout;
if (m_impl->recv.get_data (layout)) {
+ m_impl->layout = layout;
m_impl->signal_set_layout (this, layout);
if (!m_impl->si.null ()) m_impl->si->set_layout(layout);
}
@@ -2253,6 +2256,7 @@ HelperAgent::set_keyboard_ise_by_uuid (const String &uuid) const
m_impl->attach_instance ();
LOGD ("Require UUID: %s Current UUID: %s", uuid.c_str (), m_impl->si->get_factory_uuid ().c_str ());
+ m_impl->si->set_layout (m_impl->layout);
if(m_impl->focused_ic != (uint32)-1)
m_impl->si->focus_in ();
}