[immodule] fix bug state is changed to WILL_SHOW when ecore_imf_context_input_panel_s...
authorJihoon Kim <jihoon48.kim@samsung.com>
Tue, 15 Jan 2013 06:01:21 +0000 (15:01 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Tue, 15 Jan 2013 06:01:21 +0000 (15:01 +0900)
Change-Id: I6771661694ed788a23b821ee70abe3157ef6a46b

ism/extras/efl_immodule/isf_imf_control_ui.cpp

index 5d9f1ed..b861de2 100644 (file)
@@ -372,7 +372,8 @@ EAPI void isf_imf_context_input_panel_show (Ecore_IMF_Context* ctx)
 
     if ((show_req_ic == ctx) &&
         (_compare_context (show_req_ic, ctx) == EINA_TRUE) &&
-        (input_panel_state == ECORE_IMF_INPUT_PANEL_STATE_WILL_SHOW)) {
+        (input_panel_state == ECORE_IMF_INPUT_PANEL_STATE_WILL_SHOW ||
+         input_panel_state == ECORE_IMF_INPUT_PANEL_STATE_SHOW)) {
         return;
     }
 
@@ -426,7 +427,7 @@ EAPI void isf_imf_context_input_panel_show (Ecore_IMF_Context* ctx)
 
     _isf_imf_context_input_panel_show (get_panel_client_id (), context_id, packet, length, input_panel_show);
 
-    if (input_panel_show == true)
+    if (input_panel_show == true && input_panel_state == ECORE_IMF_INPUT_PANEL_STATE_HIDE)
         input_panel_state = ECORE_IMF_INPUT_PANEL_STATE_WILL_SHOW;
     free (packet);