discomfitor pushed a commit to branch enlightenment-0.19.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=a6990c69a86c4bcc1343649285cec097043f4ada

commit a6990c69a86c4bcc1343649285cec097043f4ada
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Wed Jul 15 16:22:02 2015 -0400

    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 ef71393..8ce6263 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -653,7 +653,8 @@ _e_comp_x_client_stack(E_Client *ec)
         do
           {
              ec2 = e_client_above_get(ec2);
-             if (ec2 && (e_client_is_stacking(ec2) || ((!ec2->override) || 
ec2->internal)))
+             if (ec2 && (!ec2->new_client) &&
+                 (e_client_is_stacking(ec2) || ((!ec2->override) || 
ec2->internal)))
                {
                   if (ec2->layer != ec->layer) break;
                   if (ec2->comp_data->need_reparent && 
(!ec2->comp_data->reparented)) continue;
@@ -669,7 +670,8 @@ _e_comp_x_client_stack(E_Client *ec)
         do
           {
              ec2 = e_client_below_get(ec2);
-             if (ec2 && (e_client_is_stacking(ec2) || ((!ec2->override) || 
ec2->internal)))
+             if (ec2 && (!ec2->new_client) &&
+                 (e_client_is_stacking(ec2) || ((!ec2->override) || 
ec2->internal)))
                {
                   if (ec2->layer != ec->layer) break;
                   if (ec2->comp_data->need_reparent && 
(!ec2->comp_data->reparented)) continue;

-- 


Reply via email to