forked from enlightenment/efl
atspi: delay registration of atspi object until its shown
This commit is contained in:
parent
33ea156e8b
commit
ea1f1d9c36
|
@ -2772,17 +2772,6 @@ _property_changed_signal_send(void *data, Eo *obj EINA_UNUSED, const Eo_Event_De
|
|||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_idler_cb(void *data EINA_UNUSED)
|
||||
{
|
||||
Eo *obj;
|
||||
EINA_LIST_FREE(_pending_objects, obj)
|
||||
_cache_build(obj);
|
||||
_pending_objects = NULL;
|
||||
_cache_update_idler = NULL;
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_children_changed_signal_send(void *data, Eo *obj, const Eo_Event_Description *desc EINA_UNUSED, void *event_info)
|
||||
{
|
||||
|
@ -2797,9 +2786,7 @@ _children_changed_signal_send(void *data, Eo *obj, const Eo_Event_Description *d
|
|||
// update cached objects
|
||||
if (ev_data->is_added)
|
||||
{
|
||||
_pending_objects = eina_list_append(_pending_objects, obj);
|
||||
if (!_cache_update_idler)
|
||||
_cache_update_idler = ecore_idler_add(_idler_cb, NULL);
|
||||
_cache_build(obj);
|
||||
}
|
||||
|
||||
if (!STATE_TYPE_GET(_object_children_broadcast_mask, type))
|
||||
|
|
|
@ -543,6 +543,13 @@ _elm_widget_evas_object_smart_show(Eo *obj, Elm_Widget_Smart_Data *_pd EINA_UNUS
|
|||
Eina_Iterator *it;
|
||||
Evas_Object *o;
|
||||
|
||||
if (_elm_config->atspi_mode)
|
||||
{
|
||||
Eo *parent;
|
||||
eo_do(obj, parent = elm_interface_atspi_accessible_parent_get());
|
||||
elm_interface_atspi_accessible_children_changed_added_signal_emit(parent, obj);
|
||||
}
|
||||
|
||||
it = evas_object_smart_iterator_new(obj);
|
||||
EINA_ITERATOR_FOREACH(it, o)
|
||||
{
|
||||
|
@ -1174,9 +1181,6 @@ _elm_widget_sub_object_add(Eo *obj, Elm_Widget_Smart_Data *sd, Evas_Object *sobj
|
|||
sd->subobjs = eina_list_append(sd->subobjs, sobj);
|
||||
evas_object_data_set(sobj, "elm-parent", obj);
|
||||
|
||||
if (_elm_config->atspi_mode)
|
||||
elm_interface_atspi_accessible_children_changed_added_signal_emit(obj, sobj);
|
||||
|
||||
_callbacks_add(sobj, obj);
|
||||
if (_elm_widget_is(sobj))
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue