forked from enlightenment/efl
evas: Disable calls to evas_device_class_set
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 commit is contained in:
parent
ece89aaaa8
commit
4eb13031ee
|
@ -1153,9 +1153,11 @@ EAPI const Evas_Device *evas_device_parent_get(const Evas_Device *dev);
|
||||||
* This sets the "primary" class of device (a broad thing like mouse, keyboard,
|
* This sets the "primary" class of device (a broad thing like mouse, keyboard,
|
||||||
* touch, pen etc.).
|
* touch, pen etc.).
|
||||||
*
|
*
|
||||||
|
* @deprecated The class of a device can not be changed after creation.
|
||||||
|
*
|
||||||
* @since 1.8
|
* @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
|
* Get the major class of a device
|
||||||
|
|
|
@ -350,6 +350,7 @@ EAPI void
|
||||||
evas_device_class_set(Evas_Device *dev, Evas_Device_Class clas)
|
evas_device_class_set(Evas_Device *dev, Evas_Device_Class clas)
|
||||||
{
|
{
|
||||||
SAFETY_CHECK(dev, EFL_INPUT_DEVICE_CLASS);
|
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);
|
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);
|
Evas_Public_Data *edata = efl_data_scope_get(d->evas, EVAS_CANVAS_CLASS);
|
||||||
|
|
Loading…
Reference in New Issue