_e_comp_wl_pid_hook_call(E_COMP_WL_PID_HOOK_CONNECTED_CLIENT_CREATE, pid);
}
-static void
-_e_input_thread_client_cb_focus_set(void *data)
-{
- struct wl_resource *surface = NULL;
-
- EINA_SAFETY_ON_NULL_RETURN(data);
- surface = *(struct wl_resource **)data;
-
- ICINF("[input thread|%s] surface(%p)", __func__, surface);
-
- e_comp_input_key->kbd.focus = surface;
-}
-
static void
_e_comp_wl_client_cb_focus_set(void *data EINA_UNUSED, E_Client *ec)
{
_e_comp_wl_configure_send(ec, 0, 0);
}
- ICINF("[%s] surface(%p)", __func__, ec->comp_data->surface);
- e_input_backend_thread_safe_call(_e_input_thread_client_cb_focus_set, (void *)&ec->comp_data->surface, sizeof(struct wl_resource *));
-}
-
-static void
-_e_input_thread_client_cb_focus_unset(void *data)
-{
- struct wl_resource *surface = NULL;
-
- EINA_SAFETY_ON_NULL_RETURN(data);
- surface = *(struct wl_resource **)data;
-
- ICINF("[input thread|%s] surface(%p)", __func__, surface);
-
- if (e_comp_input_key->kbd.focus == surface)
- e_comp_input_key->kbd.focus = NULL;
+ e_comp_input_key->kbd.focus = ec->comp_data->surface;
}
static void
_e_comp_wl_focus_check();
- ICINF("[%s] surface(%p)", __func__, ec->comp_data->surface);
- e_input_backend_thread_safe_call(_e_input_thread_client_cb_focus_unset, (void *)&ec->comp_data->surface, sizeof(struct wl_resource *));
+ if (e_comp_input_key->kbd.focus == ec->comp_data->surface)
+ e_comp_input_key->kbd.focus = NULL;
}
static void