From: Mike Blumenkrantz Date: Thu, 13 Aug 2015 21:10:54 +0000 (-0400) Subject: force xwl client to retain original x11 client's placed flag during swap X-Git-Tag: upstream/0.20.0~365 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a364dbb0c82004243314d7689fe48301d4392385;p=platform%2Fupstream%2Fenlightenment.git force xwl client to retain original x11 client's placed flag during swap fixes race condition where xwl clients would sometimes erroneously place at 0,0 --- diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c index f7170f4..4530bfe 100644 --- a/src/bin/e_comp_x.c +++ b/src/bin/e_comp_x.c @@ -5381,6 +5381,7 @@ e_comp_x_xwayland_client_setup(E_Client *ec, E_Client *wc) { Ecore_X_Window win, pwin; E_Comp_X_Client_Data *cd; + Eina_Bool placed; win = e_client_util_win_get(ec); pwin = e_client_util_pwin_get(ec); @@ -5398,7 +5399,7 @@ e_comp_x_xwayland_client_setup(E_Client *ec, E_Client *wc) EC_CHANGED(wc); wc->depth = ec->depth; wc->override = ec->override; - wc->placed = ec->placed; + placed = ec->placed; wc->input_only = ec->input_only; wc->border_size = ec->border_size; wc->no_shape_cut = 0; @@ -5431,6 +5432,7 @@ e_comp_x_xwayland_client_setup(E_Client *ec, E_Client *wc) e_object_del(E_OBJECT(ec)); e_hints_window_visible_set(wc); _e_comp_x_client_stack(wc); + wc->placed = placed; } #endif