#endif
static void
-_wsc_im_activate (void *data, struct wl_input_method *input_method, struct wl_input_method_context *im_ctx, uint32_t text_input_id)
+_wsc_im_activate (void *data, struct wl_input_method *input_method, struct wl_input_method_context *im_ctx, uint32_t text_input_id, uint32_t focus_in_event)
{
struct weescim *wsc = (weescim*)data;
if (!wsc) return;
isf_wsc_context_add (wsc_ctx);
- isf_wsc_context_focus_in (wsc_ctx);
+ if (focus_in_event)
+ isf_wsc_context_focus_in (wsc_ctx);
}
static void
-_wsc_im_deactivate (void *data, struct wl_input_method *input_method, struct wl_input_method_context *im_ctx)
+_wsc_im_deactivate (void *data, struct wl_input_method *input_method, struct wl_input_method_context *im_ctx, uint32_t focus_out_event)
{
struct weescim *wsc = (weescim*)data;
if (!wsc || !wsc->wsc_ctx) return;
WSCContextISF *wsc_ctx = wsc->wsc_ctx;
- isf_wsc_context_focus_out (wsc_ctx);
+ if (focus_out_event)
+ isf_wsc_context_focus_out (wsc_ctx);
#if ENABLE_GRAB_KEYBOARD
if (wsc_ctx->keyboard) {