From a364dbb0c82004243314d7689fe48301d4392385 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 13 Aug 2015 17:10:54 -0400 Subject: [PATCH] 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 --- src/bin/e_comp_x.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 -- 2.7.4