From 61531ed0d33706372cd060183e14a96a8480025f Mon Sep 17 00:00:00 2001 From: Gustavo Sverzut Barbieri Date: Thu, 18 Feb 2010 11:56:37 +0000 Subject: [PATCH] special case: we don't care for shape of argb windows, don't fetch it. SVN revision: 46272 --- src/modules/comp/e_mod_comp.c | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/src/modules/comp/e_mod_comp.c b/src/modules/comp/e_mod_comp.c index 6c863b067..906bdfcb2 100644 --- a/src/modules/comp/e_mod_comp.c +++ b/src/modules/comp/e_mod_comp.c @@ -474,19 +474,24 @@ _e_mod_comp_win_update(E_Comp_Win *cw) } ecore_x_ungrab(); - /* watch out: rects is just freed at the function end! - * adding any premature "return" will make it leak! - */ - rects = ecore_x_window_shape_rectangles_get(cw->win, &rects_num); - if (!_e_mod_comp_win_shaped_check(cw, rects, rects_num)) + if (cw->argb) + rects = NULL; + else { - free(rects); - rects = NULL; - } - if ((rects) && (!cw->shaped)) - { - cw->shaped = 1; - cw->shape_changed = 1; + /* watch out: rects is just freed at the function end! + * adding any premature "return" will make it leak! + */ + rects = ecore_x_window_shape_rectangles_get(cw->win, &rects_num); + if (!_e_mod_comp_win_shaped_check(cw, rects, rects_num)) + { + free(rects); + rects = NULL; + } + if ((rects) && (!cw->shaped)) + { + cw->shaped = 1; + cw->shape_changed = 1; + } } if ((cw->c->gl) && (_comp_mod->conf->texture_from_pixmap) &&