}
if (devtype == EFL_INPUT_DEVICE_TYPE_MOUSE)
- {
- _evas_pointer_data_remove(e, ev->object, EINA_TRUE);
- }
+ _evas_pointer_data_remove(e, ev->object);
eina_hash_del_by_key(e->locks.masks, &ev->object);
eina_hash_del_by_key(e->modifiers.masks, &ev->object);
efl_event_callback_call(e->evas, EFL_CANVAS_SCENE_EVENT_DEVICE_REMOVED,
return;
if (_is_pointer((Evas_Device_Class)klass))
- _evas_pointer_data_remove(edata, dev, EINA_FALSE);
+ _evas_pointer_data_remove(edata, dev);
efl_input_device_type_set(dev, (Efl_Input_Device_Type)clas);
}
void
-_evas_pointer_data_remove(Evas_Public_Data *edata, Evas_Device *pointer, Eina_Bool nofree)
+_evas_pointer_data_remove(Evas_Public_Data *edata, Evas_Device *pointer)
{
Evas_Pointer_Data *pdata;
Evas_Pointer_Seat *pseat;
EINA_INLIST_FOREACH(pseat->pointers, pdata)
if (pdata->pointer == pointer)
{
- if (!nofree)
- {
- pseat->pointers = eina_inlist_remove(pseat->pointers, EINA_INLIST_GET(pdata));
- free(pdata);
- }
+ pseat->pointers = eina_inlist_remove(pseat->pointers, EINA_INLIST_GET(pdata));
+ free(pdata);
hit = pseat;
break;
}
}
EINA_SAFETY_ON_NULL_RETURN(hit);
if (hit->pointers) return;
- hit->object.in = eina_list_free(hit->object.in);
- if (!nofree)
- {
- edata->seats = eina_inlist_remove(edata->seats, EINA_INLIST_GET(hit));
- free(hit);
- }
+ eina_list_free(hit->object.in);
+ edata->seats = eina_inlist_remove(edata->seats, EINA_INLIST_GET(hit));
+ free(hit);
}
Eina_List *
Efl_Input_Device *seat, Eina_Bool in);
Evas_Pointer_Data *_evas_pointer_data_by_device_get(Evas_Public_Data *edata, Efl_Input_Device *pointer);
Evas_Pointer_Data *_evas_pointer_data_add(Evas_Public_Data *edata, Efl_Input_Device *pointer);
-void _evas_pointer_data_remove(Evas_Public_Data *edata, Efl_Input_Device *pointer, Eina_Bool nofree);
+void _evas_pointer_data_remove(Evas_Public_Data *edata, Efl_Input_Device *pointer);
Eina_List *_evas_pointer_list_in_rect_get(Evas_Public_Data *edata,
Evas_Object *obj,
Evas_Object_Protected_Data *obj_data,