static void
e_input_init_seat_caps_async_cb(void *data)
{
- unsigned int seat_caps = *(unsigned int *)data;
- e_comp_wl_input_seat_caps_set(seat_caps);
+ unsigned int *seat_caps = (unsigned int *)data;
+ e_comp_wl_input_seat_caps_set(*seat_caps);
+ free(seat_caps);
}
EINTERN int
e_input_init(Ecore_Evas *ee)
{
char *env = NULL;
- unsigned int seat_caps = 0;
+ unsigned int *seat_caps;
E_Input_Device *dev;
{
/* Enable some of keyboard, touch devices temporarily */
/* FIXME : get seat caps from e_input configuration or env */
- EINA_LOG_INFO("This system uses udev backend and select to skip udev enumeration");
- seat_caps = E_INPUT_SEAT_KEYBOARD | E_INPUT_SEAT_TOUCH;
- ecore_main_loop_thread_safe_call_async(e_input_init_seat_caps_async_cb, (void *)seat_caps);
+ seat_caps = (unsigned int *)calloc(1, sizeof(unsigned int));
+ if (seat_caps)
+ {
+ EINA_LOG_INFO("This system uses udev backend and select to skip udev enumeration");
+ *seat_caps = E_INPUT_SEAT_KEYBOARD | E_INPUT_SEAT_TOUCH;
+ ecore_main_loop_thread_safe_call_async(e_input_init_seat_caps_async_cb, seat_caps);
+ }
+ else
+ EINA_LOG_ERR("Failed to alloc seat_caps");
}
E_LIST_HANDLER_APPEND(e_input->handlers, E_EVENT_SCREEN_CHANGE, _e_input_cb_screen_change, NULL);