_wl_im_ctx->wsc->wsc_ctx = NULL;
_wl_im_ctx->input_method = NULL;
_wl_im_ctx->im_ctx = NULL;
- _wl_im_ctx->need_focus_event = 0;
+ _wl_im_ctx->need_focus_event = EINA_FALSE;
_need_wl_im_init = false;
}
isf_wsc_context_add (wsc_ctx);
- if (focus_in_event)
+ if (focus_in_event) {
isf_wsc_context_focus_in (wsc_ctx);
+ _wl_im_ctx->need_focus_event = EINA_TRUE;
+ }
}
static void
_wl_im_ctx->wsc = wsc;
_wl_im_ctx->input_method = input_method;
_wl_im_ctx->im_ctx = im_ctx;
- _wl_im_ctx->need_focus_event = focus_out_event;
_need_wl_im_init = true;
+
+ if (focus_out_event) {
+ isf_wsc_context_focus_out (wsc->wsc_ctx);
+ _wl_im_ctx->need_focus_event = EINA_FALSE;
+ }
}
static void