check candidate window status on OFF_PREPARE 82/17482/1
authorJuHyun Kim <jh8212.kim@samsung.com>
Thu, 18 Jul 2013 07:40:24 +0000 (16:40 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Fri, 7 Mar 2014 02:14:20 +0000 (11:14 +0900)
Change-Id: Idc5327673fa37ac342f69c1d9ee47861d59022b3

ism/extras/efl_panel/isf_panel_efl.cpp

index 0505a9f..e487a4b 100644 (file)
@@ -4011,10 +4011,12 @@ static Eina_Bool x_event_client_message_cb (void *data, int type, void *event)
             }
             _off_prepare_done_timer = ecore_timer_add (1.0, off_prepare_done_timeout, NULL);
 
-            set_keyboard_geometry_atom_info (_app_window, KEYBOARD_STATE_OFF);
-            _panel_agent->update_input_panel_event (ECORE_IMF_INPUT_PANEL_GEOMETRY_EVENT, 0);
-            _panel_agent->update_input_panel_event (
-                    ECORE_IMF_INPUT_PANEL_STATE_EVENT, ECORE_IMF_INPUT_PANEL_STATE_HIDE);
+            if (!_candidate_window || !evas_object_visible_get (_candidate_window)) {
+                set_keyboard_geometry_atom_info (_app_window, KEYBOARD_STATE_OFF);
+                _panel_agent->update_input_panel_event (ECORE_IMF_INPUT_PANEL_GEOMETRY_EVENT, 0);
+                _panel_agent->update_input_panel_event (
+                        ECORE_IMF_INPUT_PANEL_STATE_EVENT, ECORE_IMF_INPUT_PANEL_STATE_HIDE);
+            }
             // For now don't send WILL_HIDE signal here
             //_panel_agent->update_input_panel_event(
             //    ECORE_IMF_INPUT_PANEL_STATE_EVENT, ECORE_IMF_INPUT_PANEL_STATE_WILL_HIDE);