Fix bug IME disappears slowly when pressing H/W back button in WILL SHOW status 77/46277/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Tue, 18 Aug 2015 12:18:14 +0000 (21:18 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Wed, 19 Aug 2015 04:25:01 +0000 (13:25 +0900)
Change-Id: Ic5da6f3754c4fa3f4aa14a35fa0b0000bccf5bd0

ism/extras/efl_immodule/isf_imf_context.cpp

index d7e9237..47431fb 100644 (file)
@@ -591,8 +591,11 @@ _key_down_cb (void *data, int type, void *event)
             if (ret) {
                 return ECORE_CALLBACK_DONE;
             }
-            else if (ecore_imf_context_input_panel_state_get (active_ctx) == ECORE_IMF_INPUT_PANEL_STATE_SHOW) {
-                return ECORE_CALLBACK_DONE;
+            else {
+                Ecore_IMF_Input_Panel_State state = ecore_imf_context_input_panel_state_get (active_ctx);
+                if (state == ECORE_IMF_INPUT_PANEL_STATE_SHOW ||
+                    state == ECORE_IMF_INPUT_PANEL_STATE_WILL_SHOW)
+                    return ECORE_CALLBACK_DONE;
             }
         }
     }
@@ -637,10 +640,14 @@ _key_up_cb (void *data, int type, void *event)
             if (ret) {
                 return ECORE_CALLBACK_DONE;
             }
-            else if (ecore_imf_context_input_panel_state_get (active_ctx) == ECORE_IMF_INPUT_PANEL_STATE_SHOW) {
-                isf_imf_context_reset (active_ctx);
-                isf_imf_context_input_panel_instant_hide (active_ctx);
-                return ECORE_CALLBACK_DONE;
+            else {
+                Ecore_IMF_Input_Panel_State state = ecore_imf_context_input_panel_state_get (active_ctx);
+                if (state == ECORE_IMF_INPUT_PANEL_STATE_SHOW ||
+                    state == ECORE_IMF_INPUT_PANEL_STATE_WILL_SHOW) {
+                    isf_imf_context_reset (active_ctx);
+                    isf_imf_context_input_panel_instant_hide (active_ctx);
+                    return ECORE_CALLBACK_DONE;
+                }
             }
         }
     }