static void _pointer_touch_ecore_event_add(void *data);
static void _input_event_add(E_Input_Evdev *evdev, int event_type, Eina_Bool touch_event, void *ev, ev_free_func free_func, void *free_func_data);
+static void _e_input_aux_data_event_free(void *user_data, void *ev);
static Eina_Bool _touch_blocked_by_palm, _touch_up_blocked_by_palm;
_input_event_add(edev, ev->type, EINA_TRUE, ev->event, _e_input_event_mouse_button_cb_free, NULL);
else if (ev->type == ECORE_EVENT_MOUSE_MOVE)
_input_event_add(edev, ev->type, EINA_TRUE, ev->event, _e_input_event_mouse_move_cb_free, NULL);
+ else if (ev->type == ECORE_EVENT_AXIS_UPDATE)
+ _input_event_add(edev, ev->type, EINA_TRUE, ev->event, _e_input_aux_data_event_free, NULL);
else
{
ELOGF("CRI", "NOT Supported pending event. type:%d", NULL, ev->type);
}
}
- _input_event_add(evdev, ECORE_EVENT_AXIS_UPDATE, EINA_TRUE, ev, _e_input_aux_data_event_free, NULL);
+ if (!_touch_event_pending_add(evdev, ECORE_EVENT_AXIS_UPDATE, ev))
+ {
+ ELOGF("Touch", "Failed to pend event (AXIS UPDATE). Call ecore_event_add immediately.", NULL);
+ _input_event_add(evdev, ECORE_EVENT_AXIS_UPDATE, EINA_TRUE, ev, _e_input_aux_data_event_free, NULL);
+ }
}
E_Input_Evdev *