Support IME self-termination in IME On-demand mode 70/178970/1
authorSungmin Kwak <sungmin.kwak@samsung.com>
Tue, 15 May 2018 06:17:00 +0000 (15:17 +0900)
committerSungmin Kwak <sungmin.kwak@samsung.com>
Tue, 15 May 2018 06:17:00 +0000 (15:17 +0900)
Change-Id: I67350d5c973f3962e336b46253e799fb3b0e402c

ism/extras/efl_panel/isf_panel_efl.cpp
ism/src/isf_info_manager.cpp

index 473822f..2d6c99c 100644 (file)
@@ -6508,15 +6508,18 @@ static void slot_stop_default_ise (void)
 {
     SCIM_DEBUG_MAIN (3) << __FUNCTION__ << "...\n";
 
-    if (_launch_ise_on_request && _auto_destroy_ise && _soft_keyboard_launched) {
-        String uuid = _info_manager->get_current_helper_uuid ();
-
-        if (uuid.length () > 0) {
-            _info_manager->hide_helper (uuid);
-            _info_manager->stop_helper (uuid);
-            _soft_keyboard_launched = false;
-            LOGD ("stop helper (%s)", uuid.c_str ());
+    if (_soft_keyboard_launched) {
+        if (_launch_ise_on_request && _auto_destroy_ise) {
+            String uuid = _info_manager->get_current_helper_uuid ();
+
+            if (uuid.length () > 0) {
+                _info_manager->hide_helper (uuid);
+                _info_manager->stop_helper (uuid);
+                _soft_keyboard_launched = false;
+                LOGD ("stop helper (%s)", uuid.c_str ());
+            }
         }
+        _soft_keyboard_launched = false;
     }
 }
 
index 25fa241..b38b089 100644 (file)
@@ -2807,6 +2807,8 @@ public:
                 m_helper_client_index.erase (uuid);
                 m_helper_info_repository.erase (hiit);
 
+                m_signal_stop_default_ise ();
+
                 bool launch_ise_on_request = false;
                 launch_ise_on_request = scim_global_config_read (String (SCIM_GLOBAL_CONFIG_LAUNCH_ISE_ON_REQUEST), launch_ise_on_request);
                 if (restart && !m_ise_exiting && !launch_ise_on_request) {