intercept focus set bug fix 90/66190/3
authorSungbae Park <sb34.park@samsung.com>
Sat, 16 Apr 2016 07:59:16 +0000 (16:59 +0900)
committerSungbae Park <sb34.park@samsung.com>
Mon, 18 Apr 2016 06:40:57 +0000 (15:40 +0900)
Change-Id: Ib45895ac607420688b17c6c55812e66acfec1c2c
Signed-off-by: Sungbae Park <sb34.park@samsung.com>
src/bin/e_comp_object.c

index cafc243001a9d1e443f77bc2c4532700a629b44f..36dc114e6600b15873991b6a43334fbf18b1a5dd 100644 (file)
@@ -1812,7 +1812,16 @@ _e_comp_intercept_focus(void *data, Evas_Object *obj, Eina_Bool focus)
    /* be strict about accepting focus hint */
    /* be strict about accepting focus hint */
    if ((!ec->icccm.accepts_focus) &&
-       (!ec->icccm.take_focus)) return;
+       (!ec->icccm.take_focus))
+     {
+        if (!focus)
+          {
+             if (e_client_focused_get() == ec)
+                e_client_focused_set(NULL);
+             evas_object_focus_set(obj, focus);
+          }
+        return;
+     }
    if (focus && ec->lock_focus_out) return;
    if (e_object_is_del(E_OBJECT(ec)) && focus)
      CRI("CAN'T FOCUS DELETED CLIENT!");