static void
_e_input_thread_client_visible_set(void *data)
{
- E_Input_Thread_Request_EClient_Data ec_data;
- memcpy(&ec_data, data, sizeof(E_Input_Thread_Request_EClient_Data));
+ E_Input_Thread_Request_EClient_Data *ec_data = data;
+ EINA_SAFETY_ON_NULL_RETURN(ec_data);
- INF("[input thread|%s] ec(%p), visible(%d)\n", __func__, ec_data.ec, ec_data.visible);
- e_input_thread_client_visible_set(e_input_thread_client_get(ec_data.ec), ec_data.visible);
+ INF("[input thread|%s] ec(%p), visible(%d)\n", __func__, ec_data->ec, ec_data->visible);
+ e_input_thread_client_visible_set(e_input_thread_client_get(ec_data->ec), ec_data->visible);
}
EINTERN void
static void
_e_input_thread_client_new(void *data)
{
- E_Input_Thread_Request_EClient_Data ec_new_data;
- memcpy(&ec_new_data, data, sizeof(E_Input_Thread_Request_EClient_Data));
+ E_Input_Thread_Request_EClient_Data *ec_data = data;
+ EINA_SAFETY_ON_NULL_RETURN(ec_data);
- INF("[input thread|%s] ec(%p), surface(%p)\n", __func__, ec_new_data.ec, ec_new_data.wl_surface);
- e_input_thread_client_new(ec_new_data.ec, ec_new_data.wl_surface);
+ INF("[input thread|%s] ec(%p), surface(%p)\n", __func__, ec_data->ec, ec_data->wl_surface);
+ e_input_thread_client_new(ec_data->ec, ec_data->wl_surface);
}
E_API E_Client *
static void
_e_input_thread_client_icccm_name_set(void *data)
{
- E_Input_Thread_Request_EClient_Data ec_data;
- memcpy(&ec_data, data, sizeof(E_Input_Thread_Request_EClient_Data));
+ E_Input_Thread_Request_EClient_Data *ec_data = data;
+ EINA_SAFETY_ON_NULL_RETURN(ec_data);
- INF("[input thread|%s] ec(%p), name(%s)\n", __func__, ec_data.ec, ec_data.icccm_name);
- e_input_thread_client_icccm_name_set(e_input_thread_client_get(ec_data.ec), ec_data.icccm_name);
+ INF("[input thread|%s] ec(%p), name(%s)\n", __func__, ec_data->ec, ec_data->icccm_name);
+ e_input_thread_client_icccm_name_set(e_input_thread_client_get(ec_data->ec), ec_data->icccm_name);
}
EINTERN void
static void
_e_input_thread_client_netwm_name_set(void *data)
{
- E_Input_Thread_Request_EClient_Data ec_data;
- memcpy(&ec_data, data, sizeof(E_Input_Thread_Request_EClient_Data));
+ E_Input_Thread_Request_EClient_Data *ec_data = data;
+ EINA_SAFETY_ON_NULL_RETURN(ec_data);
- INF("[input thread|%s] ec(%p), name(%p)\n", __func__, ec_data.ec, ec_data.netwm_name);
- e_input_thread_client_netwm_name_set(e_input_thread_client_get(ec_data.ec), ec_data.netwm_name);
+ INF("[input thread|%s] ec(%p), name(%p)\n", __func__, ec_data->ec, ec_data->netwm_name);
+ e_input_thread_client_netwm_name_set(e_input_thread_client_get(ec_data->ec), ec_data->netwm_name);
}
EINTERN void
static void
_e_input_thread_client_icccm_title_set(void *data)
{
- E_Input_Thread_Request_EClient_Data ec_data;
- memcpy(&ec_data, data, sizeof(E_Input_Thread_Request_EClient_Data));
+ E_Input_Thread_Request_EClient_Data *ec_data = data;
+ EINA_SAFETY_ON_NULL_RETURN(ec_data);
- INF("[input thread|%s] ec(%p), title(%s)\n", __func__, ec_data.ec, ec_data.icccm_title);
- e_input_thread_client_icccm_title_set(e_input_thread_client_get(ec_data.ec), ec_data.icccm_title);
+ INF("[input thread|%s] ec(%p), title(%s)\n", __func__, ec_data->ec, ec_data->icccm_title);
+ e_input_thread_client_icccm_title_set(e_input_thread_client_get(ec_data->ec), ec_data->icccm_title);
}
EINTERN void
static void
_e_input_thread_client_video_mode_set(void *data)
{
- E_Input_Thread_Request_EClient_Data ec_data;
- memcpy(&ec_data, data, sizeof(E_Input_Thread_Request_EClient_Data));
+ E_Input_Thread_Request_EClient_Data *ec_data = data;
+ EINA_SAFETY_ON_NULL_RETURN(ec_data);
- INF("[input thread|%s] ec(%p), is_video(%d)\n", __func__, ec_data.ec, ec_data.is_video);
- e_input_thread_client_video_set(e_input_thread_client_get(ec_data.ec), ec_data.is_video);
+ INF("[input thread|%s] ec(%p), is_video(%d)\n", __func__, ec_data->ec, ec_data->is_video);
+ e_input_thread_client_video_set(e_input_thread_client_get(ec_data->ec), ec_data->is_video);
}
EINTERN void
_e_comp_wl_input_thread_focus_in(void *data)
{
struct wl_resource *surface = NULL;
- memcpy(&surface, data, sizeof(struct wl_resource *));
struct wl_resource *res;
struct wl_client *wc;
Eina_List *l;
+ EINA_SAFETY_ON_NULL_RETURN(data);
+ surface = *(struct wl_resource **)data;
+
wc = wl_resource_get_client(surface);
EINA_LIST_FOREACH(e_comp_input_key->kbd.resources, l, res)
struct wl_resource *surface = e_comp_wl_client_surface_get(ec);
if (!surface) return;
- INF("send focus in request to input thread. resource %p\n", surface);
+ INF("send focus in request to input thread. surface(%p)\n", surface);
e_input_thread_safe_call(_e_comp_wl_input_thread_focus_in, (void *)&surface, sizeof(struct wl_resource *));
ec->comp_data->on_focus_timer =
Eina_List *l, *ll;
double t;
- memcpy(&surface, data, sizeof(struct wl_resource *));
+ EINA_SAFETY_ON_NULL_RETURN(data);
+
+ surface = *(struct wl_resource **)data;
/* update keyboard modifier state */
wl_array_for_each(k, &e_comp_input_key->kbd.keys)
_e_comp_wl_client_priority_normal(ec);
struct wl_resource *surface = e_comp_wl_client_surface_get(ec);
- INF("send focus out request to input thread. resource %p\n", surface);
+ INF("send focus out request to input thread. surface(%p)\n", surface);
e_input_thread_safe_call(_e_comp_wl_input_thread_focus_out, (void *)&surface, sizeof(struct wl_resource *));
}
static void
_e_input_thread_client_free(void *data)
{
- E_Input_Thread_Request_EClient_Data ec_free_data;
- memcpy(&ec_free_data, data, sizeof(E_Input_Thread_Request_EClient_Data));
+ E_Input_Thread_Request_EClient_Data *ec_data = data;
+ EINA_SAFETY_ON_NULL_RETURN(ec_data);
- INF("[input thread|e_client_free] ec: %p, surface: %p\n", ec_free_data.ec, ec_free_data.wl_surface);
+ INF("[input thread|%s] ec: %p, surface: %p\n", __func__, ec_data->ec, ec_data->wl_surface);
}
EINTERN void
{
Eina_List *l, *ll;
struct wl_resource *res;
- struct wl_resource *resource;
+ struct wl_resource *resource = NULL;
+
+ EINA_SAFETY_ON_NULL_RETURN(data);
- memcpy(&resource, data, sizeof(struct wl_resource *));
+ resource = *(struct wl_resource **)data;
e_comp_input_key->kbd.resources =
eina_list_remove(e_comp_input_key->kbd.resources, resource);
static void
_e_comp_wl_input_cb_keyboard_unbind(struct wl_resource *resource)
{
- INF("[keyboard unbind] resource %p\n", resource);
+ INF("[keyboard unbind] resource(%p)\n", resource);
e_input_thread_safe_call(_e_comp_wl_input_thread_cb_keyboard_unbind, &resource, sizeof(struct wl_resource *));
}
E_Client *focused;
struct wl_resource *res;
- E_Input_Thread_Request_Keyboard_Get_Data keyboard_get_data;
- memcpy(&keyboard_get_data, data, sizeof(E_Input_Thread_Request_Keyboard_Get_Data));
+ E_Input_Thread_Request_Keyboard_Get_Data *keyboard_get_data = data;
+ EINA_SAFETY_ON_NULL_RETURN(keyboard_get_data);
- INF("[input thread|keyboard_get] resource: %p, client : %p\n", keyboard_get_data.resource, keyboard_get_data.client);
+ INF("[input thread|%s] resource(%p), client(%p)\n", __func__, keyboard_get_data->resource, keyboard_get_data->client);
- res = keyboard_get_data.resource;
+ res = keyboard_get_data->resource;
e_comp_input_key->kbd.resources =
eina_list_append(e_comp_input_key->kbd.resources, res);
struct wl_resource *surface = e_comp_wl_client_surface_get(focused);
if (!surface) return;
- if (keyboard_get_data.client != wl_resource_get_client(surface)) return;
+ if (keyboard_get_data->client != wl_resource_get_client(surface)) return;
e_comp_input_key->kbd.focused = eina_list_append(e_comp_input_key->kbd.focused, res);
e_comp_wl_input_keyboard_enter_send(surface);
keyboard_get_data.resource = res;
keyboard_get_data.client = client;
- INF("[keyboard_get] resource: %p, client : %p\n", keyboard_get_data.resource, keyboard_get_data.client);
e_input_thread_safe_call(_e_comp_wl_input_thread_cb_keyboard_get, &keyboard_get_data, sizeof(E_Input_Thread_Request_Keyboard_Get_Data));
}
static void
_e_comp_wl_input_thread_cb_keyboard_enabled_set(void *data)
{
- Eina_Bool enabled = EINA_FALSE;
+ Eina_Bool enabled;
+ EINA_SAFETY_ON_NULL_RETURN(data);
+
+ enabled = *(Eina_Bool *)data;
- memcpy(&enabled, data, sizeof(Eina_Bool));
e_comp_input_key->kbd.enabled = !!enabled;
}
_e_keyrouter_input_thread_keygrab_set(void *data)
{
int res = 0;
-
- E_Input_Thread_Request_Keygrab_Data keygrab_data;
- memcpy(&keygrab_data, data, sizeof(E_Input_Thread_Request_Keygrab_Data));
+ E_Input_Thread_Request_Keygrab_Data *keygrab_data = data;
+ EINA_SAFETY_ON_NULL_RETURN(keygrab_data);
TRACE_INPUT_BEGIN(_e_keyrouter_cb_keygrab_set);
- res = e_keyrouter_keygrab_set(keygrab_data.client, keygrab_data.surface, keygrab_data.key, keygrab_data.mode);
+ res = e_keyrouter_keygrab_set(keygrab_data->client, keygrab_data->surface, keygrab_data->key, keygrab_data->mode);
TRACE_INPUT_END();
if (res == TIZEN_KEYROUTER_ERROR_NONE)
{
- if (keygrab_data.mode == TIZEN_KEYROUTER_MODE_EXCLUSIVE)
- {
- KLINF("Success to %d key %s grab request (wl_client: %p, wl_surface: %p, pid: %d)", keygrab_data.key, e_keyrouter_mode_to_string(keygrab_data.mode),
- keygrab_data.client, keygrab_data.surface, e_keyrouter_util_get_pid(keygrab_data.client, keygrab_data.surface));
- }
- else
- {
- KLDBG("Success to %d key %s grab request (wl_client: %p, wl_surface: %p, pid: %d)", keygrab_data.key, e_keyrouter_mode_to_string(keygrab_data.mode),
- keygrab_data.client, keygrab_data.surface, e_keyrouter_util_get_pid(keygrab_data.client, keygrab_data.surface));
- }
+ KLINF("Success to %d key %s grab request (wl_client: %p, wl_surface: %p, pid: %d)", keygrab_data->key, e_keyrouter_mode_to_string(keygrab_data->mode),
+ keygrab_data->client, keygrab_data->surface, e_keyrouter_util_get_pid(keygrab_data->client, keygrab_data->surface));
}
else
- KLINF("Failed to %d key %s grab request (wl_client: %p, wl_surface: %p, pid: %d): res: %d", keygrab_data.key, e_keyrouter_mode_to_string(keygrab_data.mode),
- keygrab_data.client, keygrab_data.surface, e_keyrouter_util_get_pid(keygrab_data.client, keygrab_data.surface), res);
+ KLINF("Failed to %d key %s grab request (wl_client: %p, wl_surface: %p, pid: %d): res: %d", keygrab_data->key, e_keyrouter_mode_to_string(keygrab_data->mode),
+ keygrab_data->client, keygrab_data->surface, e_keyrouter_util_get_pid(keygrab_data->client, keygrab_data->surface), res);
- tizen_keyrouter_send_keygrab_notify(keygrab_data.resource, keygrab_data.surface, keygrab_data.key, keygrab_data.mode, res);
+ tizen_keyrouter_send_keygrab_notify(keygrab_data->resource, keygrab_data->surface, keygrab_data->key, keygrab_data->mode, res);
}
/* tizen_keyrouter_set_keygrab request handler */
_e_keyrouter_input_thread_keygrab_unset(void *data)
{
int res = 0;
- E_Input_Thread_Request_Keygrab_Data keygrab_data;
- memcpy(&keygrab_data, data, sizeof(E_Input_Thread_Request_Keygrab_Data));
+ E_Input_Thread_Request_Keygrab_Data *keygrab_data = data;
+ EINA_SAFETY_ON_NULL_RETURN(keygrab_data);
- res = e_keyrouter_keygrab_unset(keygrab_data.client, keygrab_data.surface, keygrab_data.key);
+ res = e_keyrouter_keygrab_unset(keygrab_data->client, keygrab_data->surface, keygrab_data->key);
TRACE_INPUT_END();
if (res == TIZEN_KEYROUTER_ERROR_NONE)
- KLDBG("Success to %d key ungrab request (wl_client: %p, wl_surface: %p, pid: %d)", keygrab_data.key, keygrab_data.client, keygrab_data.surface,
- e_keyrouter_util_get_pid(keygrab_data.client, keygrab_data.surface));
+ KLDBG("Success to %d key ungrab request (wl_client: %p, wl_surface: %p, pid: %d)", keygrab_data->key, keygrab_data->client, keygrab_data->surface,
+ e_keyrouter_util_get_pid(keygrab_data->client, keygrab_data->surface));
else
- KLINF("Failed to %d key ungrab request (wl_client: %p, wl_surface: %p, pid: %d): res: %d", keygrab_data.key, keygrab_data.client, keygrab_data.surface,
- e_keyrouter_util_get_pid(keygrab_data.client, keygrab_data.surface), res);
+ KLINF("Failed to %d key ungrab request (wl_client: %p, wl_surface: %p, pid: %d): res: %d", keygrab_data->key, keygrab_data->client, keygrab_data->surface,
+ e_keyrouter_util_get_pid(keygrab_data->client, keygrab_data->surface), res);
- tizen_keyrouter_send_keygrab_notify(keygrab_data.resource, keygrab_data.surface, keygrab_data.key, TIZEN_KEYROUTER_MODE_NONE, res);
+ tizen_keyrouter_send_keygrab_notify(keygrab_data->resource, keygrab_data->surface, keygrab_data->key, TIZEN_KEYROUTER_MODE_NONE, res);
}
/* tizen_keyrouter unset_keygrab request handler */