atspi: make highlight frame be a smart member 66/147166/2
authorShinwoo Kim <cinoo.kim@samsung.com>
Fri, 1 Sep 2017 07:35:55 +0000 (16:35 +0900)
committerShinwoo Kim <cinoo.kim@samsung.com>
Fri, 1 Sep 2017 10:02:11 +0000 (19:02 +0900)
Make highlight frame object be a smart member of target object.
There are two cases covered by this commit.

1. ctxpopup of copy & paste module.
The ctxpopup item has higher object layer than highlight frame object.
In this case, the highlight frame is covered by the ctxpopup item.

2. genlist item proxy object.
The genlist item shows its proxy object(handled by evas_object_image_source*).
In this case, the highlight frame has improper position, and size.

Change-Id: I2b6470a8a695ea3739ddf80832e837dbd2c0d1f8

src/lib/elm_win.c

index 9e19c6c..87fddf8 100644 (file)
@@ -961,6 +961,7 @@ _elm_win_accessibility_highlight_visible_set(Elm_Win_Data *sd,
      }
    else
      {
+        evas_object_smart_member_del(fobj);
         evas_object_hide(fobj);
         evas_object_del(fobj);
      }
@@ -1028,7 +1029,7 @@ static void
 _elm_win_accessibility_highlight_simple_setup(Elm_Win_Data *sd,
                                       Evas_Object *obj)
 {
-   Evas_Object *clip, *target = sd->accessibility_highlight.cur.target;
+   Evas_Object *target = sd->accessibility_highlight.cur.target;
    Evas_Coord x, y, w, h;
    //TIZEN_ONLY(20160623): atspi: moved highlight when object is out of screen
    Evas_Coord ox, oy;
@@ -1074,8 +1075,7 @@ _elm_win_accessibility_highlight_simple_setup(Elm_Win_Data *sd,
    sd->accessibility_highlight.cur.y = oy;
    //
 
-   clip = evas_object_clip_get(target);
-   if (clip) evas_object_clip_set(obj, clip);
+   evas_object_smart_member_add(obj, target);
 }
 
 static void