From: Shinwoo Kim Date: Wed, 22 May 2013 12:48:31 +0000 (+0900) Subject: [access] check whether hover object is visibile or not X-Git-Tag: submit/tizen_2.2/20130714.145026~387 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3cc2106f341a156473f1a7a97fec5b4c4847dead;p=framework%2Fuifw%2Felementary.git [access] check whether hover object is visibile or not Change-Id: I853b8f803090ca9a8f4c3dfc3d6f93f0f179a951 --- diff --git a/src/lib/elm_access.c b/src/lib/elm_access.c index eb21f8e..88e4593 100644 --- a/src/lib/elm_access.c +++ b/src/lib/elm_access.c @@ -990,6 +990,9 @@ _elm_access_object_hilight(Evas_Object *obj) o = evas_object_name_find(evas_object_evas_get(obj), "_elm_access_disp"); if (!o) { + /* edje_object_add(); calls evas_event_feed_mouse_move(); + and it calls _access_obj_mouse_in_cb(); again. */ + _elm_access_mouse_event_enabled_set(EINA_FALSE); o = edje_object_add(evas_object_evas_get(obj)); evas_object_name_set(o, "_elm_access_disp"); evas_object_layer_set(o, ELM_OBJECT_LAYER_TOOLTIP); diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c index dd85991..22bf422 100644 --- a/src/lib/elm_widget.c +++ b/src/lib/elm_widget.c @@ -2333,6 +2333,9 @@ elm_widget_focus_next_get(const Evas_Object *obj, Elm_Focus_Direction dir, Evas_Object **next) { + Elm_Access_Info *ac; + Evas_Object *clipper; + if (!next) return EINA_FALSE; *next = NULL; @@ -2383,7 +2386,18 @@ elm_widget_focus_next_get(const Evas_Object *obj, /* focusable object but does not have access info */ if (_elm_config->access_mode) { - if (!_elm_access_object_get(obj)) return EINA_FALSE; + ac = _elm_access_object_get(obj); + if (!ac) return EINA_FALSE; + + /* check whether the hover object is visible or not */ + if (!evas_object_visible_get(ac->hoverobj)) return EINA_FALSE; + + clipper = evas_object_clip_get(ac->hoverobj); + while (clipper) + { + if (!evas_object_visible_get(clipper)) return EINA_FALSE; + clipper = evas_object_clip_get(clipper); + } } if (elm_widget_focus_get(obj))