discomfitor pushed a commit to branch enlightenment-0.19.

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

commit ef18cc3f933befdfcdff19e9a0156f78b40798fa
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Tue Jul 21 14:34:11 2015 -0400

    ensure clients possess comp_data before dereferencing it during x11 stacking
    
    ref T2566
---
 src/bin/e_comp_x.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index 8ce6263..44ddb07 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -645,7 +645,7 @@ _e_comp_x_client_stack(E_Client *ec)
    ecore_x_window_shadow_tree_flush();
 
    /* try stacking below */
-   if (e_comp_get(NULL)->nocomp_ec && (ec != e_comp_get(NULL)->nocomp_ec))
+   if (e_comp_get(NULL)->nocomp_ec && e_comp_get(NULL)->nocomp_ec->comp_data 
&& (ec != e_comp_get(NULL)->nocomp_ec))
      win = _e_comp_x_client_window_get(e_comp_get(NULL)->nocomp_ec);
    else
      {
@@ -653,7 +653,7 @@ _e_comp_x_client_stack(E_Client *ec)
         do
           {
              ec2 = e_client_above_get(ec2);
-             if (ec2 && (!ec2->new_client) &&
+             if (ec2 && ec2->comp_data && (!ec2->new_client) &&
                  (e_client_is_stacking(ec2) || ((!ec2->override) || 
ec2->internal)))
                {
                   if (ec2->layer != ec->layer) break;
@@ -670,7 +670,7 @@ _e_comp_x_client_stack(E_Client *ec)
         do
           {
              ec2 = e_client_below_get(ec2);
-             if (ec2 && (!ec2->new_client) &&
+             if (ec2 && ec2->comp_data && (!ec2->new_client) &&
                  (e_client_is_stacking(ec2) || ((!ec2->override) || 
ec2->internal)))
                {
                   if (ec2->layer != ec->layer) break;

-- 


Reply via email to