Fixed the issue not to send the key event even if there is focus. 81/117981/1
authorWonkeun Oh <wonkeun.oh@samsung.com>
Wed, 8 Mar 2017 07:27:44 +0000 (16:27 +0900)
committerWonkeun Oh <wonkeun.oh@samsung.com>
Wed, 8 Mar 2017 07:55:53 +0000 (16:55 +0900)
When the focus is set by _canvas_focus_in_cb, _focused_ctx is always null.
It makes key events not to be sent to wl_textinput module in the filter_key_event function.
It is much better to set the _focused_ctx value in the set_focus function if focus is successfully set

Change-Id: I7cec1e954035f18751ea38098b118f150fb9356f

ism/extras/wayland_immodule/wayland_imcontext.c

index 7c7fd31..c8102a4 100644 (file)
@@ -1266,6 +1266,7 @@ set_focus(Ecore_IMF_Context *ctx)
     }
 
     imcontext->input = input;
+    _focused_ctx = ctx;
 
     wl_text_input_activate(imcontext->text_input, seat,
             ecore_wl_window_surface_get(imcontext->window));
@@ -2621,16 +2622,12 @@ wayland_im_context_reset(Ecore_IMF_Context *ctx)
 void
 wayland_im_context_focus_in(Ecore_IMF_Context *ctx)
 {
-    // TIZEN_ONLY(20150708): Support back key
-    _focused_ctx = ctx;
-    //
 
     LOGD ("ctx : %p. enable : %d, on demand : %d\n", ctx,
           ecore_imf_context_input_panel_enabled_get(ctx),
           ecore_imf_context_input_panel_show_on_demand_get (ctx));
 
     if (!set_focus(ctx)) {
-        _focused_ctx = NULL;
         LOGW("ctx : %p. Fail to set focus!", ctx);
         return;
     }