raster pushed a commit to branch master.

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

commit f42c6aa1871cca6c6ffb39b65e2bfa3815bff35c
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Thu Oct 15 19:26:00 2015 +0900

    e - comps sync - ec client was null - i think, so protect against crash
    
    i got a crash here and the bt was broken and i couldnt check if
    _e_comp_x_client_data_get() returned null, but it's the only thing
    that would make sense, so protect against this to avoid a crash. as
    this was a one-off, i can't find out more,
    
    @fix
---
 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 9600e4f..f364d2d 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -2461,6 +2461,7 @@ _e_comp_x_sync_alarm(void *data EINA_UNUSED, int type 
EINA_UNUSED, Ecore_X_Event
    unsigned int serial;
    E_Client *ec;
    Eina_Bool resize = EINA_FALSE;
+   E_Comp_X_Client_Data *cl;
 
    ec = _e_comp_x_client_find_by_alarm(ev->alarm);
    if (!ec) return ECORE_CALLBACK_RENEW;
@@ -2468,7 +2469,8 @@ _e_comp_x_sync_alarm(void *data EINA_UNUSED, int type 
EINA_UNUSED, Ecore_X_Event
    if (ec->netwm.sync.wait)
      ec->netwm.sync.wait--;
 
-   if (ecore_x_sync_counter_query(_e_comp_x_client_data_get(ec)->sync_counter, 
&serial))
+   cl = _e_comp_x_client_data_get(ec);
+   if ((cl) && (ecore_x_sync_counter_query(cl->sync_counter, &serial)))
      {
         E_Client_Pending_Resize *pnd = NULL;
 

-- 


Reply via email to