Modified not to ignore hide permission response when app window loses focus 35/101235/2
authorJi-hoon Lee <dalton.lee@samsung.com>
Wed, 30 Nov 2016 12:19:03 +0000 (21:19 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Wed, 30 Nov 2016 12:32:22 +0000 (21:32 +0900)
Change-Id: Ia2c93a94b911ad5ff611c78f673b54337ffd04ff

ism/extras/wayland_immodule/wayland_imcontext.c

index 63d1070..2e478bf 100644 (file)
@@ -1260,6 +1260,14 @@ static Eina_Bool _compare_context(Ecore_IMF_Context *ctx1, Ecore_IMF_Context *ct
 }
 //
 
+static void send_get_hide_permission(WaylandIMContext *imcontext)
+{
+    if (imcontext->text_input) {
+        ignore_hide = EINA_FALSE;
+        wl_text_input_get_hide_permission(imcontext->text_input);
+    }
+}
+
 static Eina_Bool _client_window_focus_out_cb(void *data, int ev_type, void *ev)
 {
     Ecore_Wl_Event_Focus_Out *e = (Ecore_Wl_Event_Focus_Out *)ev;
@@ -1282,14 +1290,12 @@ static Eina_Bool _client_window_focus_out_cb(void *data, int ev_type, void *ev)
             }
 
             if (_show_req_ctx == ctx) {
-                if (imcontext->text_input)
-                    wl_text_input_get_hide_permission(imcontext->text_input);
+                send_get_hide_permission(imcontext);
             }
         }
     }
     else {
-        if (imcontext->text_input)
-            wl_text_input_get_hide_permission(imcontext->text_input);
+        send_get_hide_permission(imcontext);
     }
 
     return ECORE_CALLBACK_PASS_ON;
@@ -2455,8 +2461,7 @@ wayland_im_context_focus_out(Ecore_IMF_Context *ctx)
     if (imcontext->text_input) {
         if (ecore_imf_context_input_panel_enabled_get(ctx)) {
             // query
-            ignore_hide = EINA_FALSE;
-            wl_text_input_get_hide_permission(imcontext->text_input);
+            send_get_hide_permission(imcontext);
             return;
         }
     }