return ECORE_CALLBACK_CANCEL;
}
+static Eina_Bool
+checkEvasDeviceInfo(Evas_Device *dev)
+{
+ DBG("[%s] name(%s), description(%s), class(%d), subclass(%d)", __func__, evas_device_name_get(dev), evas_device_description_get(dev), evas_device_class_get(dev), evas_device_subclass_get(dev));
+
+ unsigned int description_len = strlen(evas_device_description_get(dev));
+ unsigned int name_len = strlen(evas_device_name_get(dev));
+ if (description_len > 0 && name_len > 0)
+ return EINA_TRUE;
+
+ return EINA_FALSE;
+}
+
+static Eina_Bool
+checkEcoreDeviceInfo(Ecore_Device *dev)
+{
+ DBG("[%s] name(%s), description(%s), class(%d), subclass(%d)", __func__, ecore_device_name_get(dev), ecore_device_description_get(dev), ecore_device_class_get(dev), evas_device_subclass_get(dev));
+
+ unsigned int description_len = strlen(ecore_device_description_get(dev));
+ unsigned int name_len = strlen(ecore_device_name_get(dev));
+ if (description_len > 0 && name_len > 0)
+ return EINA_TRUE;
+
+ return EINA_FALSE;
+}
+
/* callbacks - ecore */
static Eina_Bool
_cb_ecore_key_down(void *data, int type, void *event)
type == ECORE_EVENT_KEY_UP)
{
runner->ev.key.ecore_state = EINA_FALSE;
- runner->insertEventQueue(ev->window, E_TC_EVENT_TYPE_INPUT_ECORE_KEY);
+ if (checkEcoreDeviceInfo(ev->dev))
+ runner->insertEventQueue(ev->window, E_TC_EVENT_TYPE_INPUT_ECORE_KEY);
+ else
+ ERR("[Error] Ecore Key Up cb. device info is empty");
}
}
if (runner->ev.mouse.ecore_state == EINA_FALSE &&
type == ECORE_EVENT_MOUSE_BUTTON_DOWN)
{
- DBG("Mouse button DOWN cb. insert event");
- runner->ev.mouse.ecore_state = EINA_TRUE;
- runner->insertEventQueue(ev->window, E_TC_EVENT_TYPE_INPUT_ECORE_MOUSE);
+ if (checkEcoreDeviceInfo(ev->dev))
+ {
+ DBG("Mouse button DOWN cb. insert event");
+ runner->ev.mouse.ecore_state = EINA_TRUE;
+ runner->insertEventQueue(ev->window, E_TC_EVENT_TYPE_INPUT_ECORE_MOUSE);
+ }
+ else
+ ERR("[Error] Ecore Mouse button DOWN cb. device info is empty");
}
}
if (runner->ev.mouse.ecore_state == EINA_TRUE &&
type == ECORE_EVENT_MOUSE_BUTTON_UP)
{
- DBG("Mouse button UP cb. insert event");
- runner->ev.mouse.ecore_state = EINA_FALSE;
- runner->insertEventQueue(ev->window, E_TC_EVENT_TYPE_INPUT_ECORE_MOUSE);
+ if (checkEcoreDeviceInfo(ev->dev))
+ {
+ DBG("Mouse button UP cb. insert event");
+ runner->ev.mouse.ecore_state = EINA_FALSE;
+ runner->insertEventQueue(ev->window, E_TC_EVENT_TYPE_INPUT_ECORE_MOUSE);
+ }
+ else
+ ERR("[Error] Ecore Mouse button UP cb. device info is empty");
}
}
{
if (type == ECORE_EVENT_MOUSE_MOVE)
{
- DBG("Mouse MOVE cb. insert event");
- runner->insertEventQueue(ev->window, E_TC_EVENT_TYPE_INPUT_ECORE_MOUSE);
+ if (checkEcoreDeviceInfo(ev->dev))
+ {
+ DBG("Mouse MOVE cb. insert event");
+ runner->insertEventQueue(ev->window, E_TC_EVENT_TYPE_INPUT_ECORE_MOUSE);
+ }
+ else
+ ERR("[Error] Ecore Mouse MOVE cb. device info is empty");
}
}
runner->ev.key.evas_state = EINA_FALSE;
runner->ev.elm_win = NULL;
- runner->insertEventQueue(runner->ev.native_win, E_TC_EVENT_TYPE_INPUT_EVAS_KEY);
+ if (checkEvasDeviceInfo(ev->dev))
+ runner->insertEventQueue(runner->ev.native_win, E_TC_EVENT_TYPE_INPUT_EVAS_KEY);
+ else
+ ERR("[Error] Evas Key Up cb. device info is empty");
}
}
evas_object_event_callback_del(runner->ev.elm_win, EVAS_CALLBACK_KEY_UP, _cb_evas_key_up);