It is possible to access destructed eo object using ATSPI interface.
The following sequence is possilbe, because AT-client such as screen-reader
does not know whether a widget object deleted or not.
1. _elm_radio_evas_object_smart_del
2. _elm_radio_elm_interface_atspi_accessible_state_set_get
So before using eo interface, we have to check if the eo object is vlid or
not using eo_destructed_is.
Change-Id: I7ffaf7bd905dcc2ef5770d9c1cef9de52ec77322
if (!sd) return val;
#define ELM_ATSPI_PROPERTY_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, class, msg, error) \
- if (!(obj) || !eo_isa(obj, class)) \
+ if (!(obj) || !eo_isa(obj, class) || eo_destructed_is(obj)) \
{ \
*(error) = _dbus_invalid_ref_error_new(msg); \
return EINA_FALSE; \
}
#define ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, class, msg) \
- if (!(obj) || !eo_isa(obj, class)) \
+ if (!(obj) || !eo_isa(obj, class) || eo_destructed_is(obj)) \
return _dbus_invalid_ref_error_new(msg);
typedef struct Key_Event_Info {