e_comp_wl: accepts_focus set true at wl_surface_create instead of xdg_shell_toplevel_set 74/186674/2
authorJunSeok, Kim <juns.kim@samsung.com>
Mon, 13 Aug 2018 07:38:26 +0000 (16:38 +0900)
committerJunSeok Kim <juns.kim@samsung.com>
Mon, 13 Aug 2018 10:05:57 +0000 (10:05 +0000)
if accepts_focus set TRUE in xdg_shell_toplevel_set can occure timing issue with focus_skip_set.
in evas_object_show, xdg_shell_toplevel_set is always set the accepts_focus to TRUE
if visibility calculation occurs before processing tizen_policy_set_focus_skip, focus will be in&out quickly.
this patch fix the issue.

Change-Id: I9441770a0c050899da32896833174dd4db709f4b

src/bin/e_comp_wl.c
src/bin/e_comp_wl_shell.c

index 493f874b075fa863c4fa5ffa9cc7c18be6b5d3ab..35da2ede1ab2e3f0b9f4e5bd370fcf1618a5d407 100644 (file)
@@ -3240,6 +3240,7 @@ _e_comp_wl_compositor_cb_surface_create(struct wl_client *client, struct wl_reso
         if ((!ec->client.w) && (ec->client.h))
           ec->client.w = ec->client.h = 1;
         ec->comp_data->surface = res;
+        ec->icccm.accepts_focus = 1;
      }
 
    /* set reference to pixmap so we can fetch it later */
index a70b51103d50f090a7bea0696f39928efc4a3e95..ce3c5c5348c3a90a885ee7662939d3bb65edf9f3 100644 (file)
@@ -106,7 +106,6 @@ e_shell_e_client_toplevel_set(E_Client *ec)
    ELOGF("SHELL", "Set toplevel", ec->pixmap, ec);
 
    /* set toplevel client properties */
-   ec->icccm.accepts_focus = 1;
    if (!ec->internal)
      ec->borderless = 1;
    ec->lock_border = EINA_TRUE;