if (!identifier) continue;
if ((ecore_device_class_get(dev) == clas) && (!strcmp(identifier, edev->path)))
{
- if (edev->ecore_dev) edev->ecore_dev = NULL;
+ if (edev->ecore_dev)
+ {
+ ecore_device_unref(dev);
+ edev->ecore_dev = NULL;
+ }
else if (edev->ecore_dev_list)
{
EINA_LIST_FOREACH_SAFE(edev->ecore_dev_list, ll, ll_next, data)
{
if (data == dev)
{
+ ecore_device_unref(dev);
edev->ecore_dev_list = eina_list_remove_list(edev->ecore_dev_list, ll);
}
}
WRN("Invalid device is left. name: %s, identifier: %s, clas: %s\n",
ecore_device_name_get(data), ecore_device_description_get(data),
_e_input_ecore_device_class_to_string(ecore_device_class_get(data)));
+ ecore_device_unref(data);
ecore_device_del(data);
}
}