[access] do not try to give a highlight, if the object already has a highlight - use more proper line

This commit is contained in:
Shinwoo Kim 2013-03-08 11:44:49 +09:00
parent 5858baf6e0
commit 0d05c1aeb4
1 changed files with 23 additions and 14 deletions

View File

@ -121,11 +121,33 @@ _access_add_set(Elm_Access_Info *ac, int type)
return ai;
}
static Evas_Object *
_access_highlight_object_get(Evas_Object *obj)
{
Evas_Object *o, *ho;
o = evas_object_name_find(evas_object_evas_get(obj), "_elm_access_disp");
if (!o) return NULL;
ho = evas_object_data_get(o, "_elm_access_target");
return ho;
}
static Eina_Bool
_access_obj_over_timeout_cb(void *data)
{
Elm_Access_Info *ac = evas_object_data_get(data, "_elm_access");
Elm_Access_Info *ac;
Evas_Object *ho;
if (!data) return EINA_FALSE;
ho = _access_highlight_object_get(data);
if (ho == data) return EINA_FALSE;
ac = evas_object_data_get(data, "_elm_access");
if (!ac) return EINA_FALSE;
if (_elm_config->access_mode != ELM_ACCESS_MODE_OFF)
{
if (ac->on_highlight) ac->on_highlight(ac->on_highlight_data);
@ -252,19 +274,6 @@ _access_obj_hilight_resize_cb(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Ob
evas_object_resize(o, w, h);
}
static Evas_Object *
_access_highlight_object_get(Evas_Object *obj)
{
Evas_Object *o, *ho;
o = evas_object_name_find(evas_object_evas_get(obj), "_elm_access_disp");
if (!o) return NULL;
ho = evas_object_data_get(o, "_elm_access_target");
return ho;
}
void
_elm_access_mouse_event_enabled_set(Eina_Bool enabled)
{