From 73c03565b310ada7f11632cd89dd576bf06aecdb Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 15 Jul 2015 16:22:02 -0400 Subject: [PATCH] never use new clients for stacking part 2: the secret of the stacking a client with this flag set here is unreliable to use as a stacking reference since it has yet to be stacked and can be located anywhere in the window stack. fixes internal window stacking on startup --- src/bin/e_comp_x.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c index 5a60da8..9cdb73f 100644 --- a/src/bin/e_comp_x.c +++ b/src/bin/e_comp_x.c @@ -685,7 +685,8 @@ _e_comp_x_client_stack(E_Client *ec) do { ec2 = e_client_above_get(ec2); - if (ec2 && e_client_has_xwindow(ec2) && (e_client_is_stacking(ec2) || ((!ec2->override) || ec2->internal))) + if (ec2 && e_client_has_xwindow(ec2) && (!ec2->new_client) && + (e_client_is_stacking(ec2) || ((!ec2->override) || ec2->internal))) { if (ec2->layer != ec->layer) break; if (_e_comp_x_client_data_get(ec2)->need_reparent && (!_e_comp_x_client_data_get(ec2)->reparented)) continue; @@ -701,7 +702,8 @@ _e_comp_x_client_stack(E_Client *ec) do { ec2 = e_client_below_get(ec2); - if (ec2 && e_client_has_xwindow(ec2) && (e_client_is_stacking(ec2) || ((!ec2->override) || ec2->internal))) + if (ec2 && e_client_has_xwindow(ec2) && (!ec2->new_client) && + (e_client_is_stacking(ec2) || ((!ec2->override) || ec2->internal))) { if (ec2->layer != ec->layer) break; if (_e_comp_x_client_data_get(ec2)->need_reparent && (!_e_comp_x_client_data_get(ec2)->reparented)) continue; -- 2.7.4