After finalize, the type of an input device can not be changed.
So, deprecate the function and prevent anything from happening
unless we're inside efl_add().
Ref T5515
* This sets the "primary" class of device (a broad thing like mouse, keyboard,
* touch, pen etc.).
*
+ * @deprecated The class of a device can not be changed after creation.
+ *
* @since 1.8
*/
-EAPI void evas_device_class_set(Evas_Device *dev, Evas_Device_Class clas);
+EAPI void evas_device_class_set(Evas_Device *dev, Evas_Device_Class clas) EINA_DEPRECATED;
/**
* Get the major class of a device
evas_device_class_set(Evas_Device *dev, Evas_Device_Class clas)
{
SAFETY_CHECK(dev, EFL_INPUT_DEVICE_CLASS);
+ EINA_SAFETY_ON_TRUE_RETURN(efl_finalized_get(dev));
Efl_Input_Device_Data *d = efl_data_scope_get(dev, EFL_INPUT_DEVICE_CLASS);
Evas_Public_Data *edata = efl_data_scope_get(d->evas, EVAS_CANVAS_CLASS);