special case: we don't care for shape of argb windows, don't fetch it.

SVN revision: 46272
This commit is contained in:
Gustavo Sverzut Barbieri 2010-02-18 11:56:37 +00:00
parent e6746ce456
commit 61531ed0d3
1 changed files with 17 additions and 12 deletions

View File

@ -474,19 +474,24 @@ _e_mod_comp_win_update(E_Comp_Win *cw)
} }
ecore_x_ungrab(); ecore_x_ungrab();
/* watch out: rects is just freed at the function end! if (cw->argb)
* adding any premature "return" will make it leak! rects = NULL;
*/ else
rects = ecore_x_window_shape_rectangles_get(cw->win, &rects_num);
if (!_e_mod_comp_win_shaped_check(cw, rects, rects_num))
{ {
free(rects); /* watch out: rects is just freed at the function end!
rects = NULL; * adding any premature "return" will make it leak!
} */
if ((rects) && (!cw->shaped)) rects = ecore_x_window_shape_rectangles_get(cw->win, &rects_num);
{ if (!_e_mod_comp_win_shaped_check(cw, rects, rects_num))
cw->shaped = 1; {
cw->shape_changed = 1; 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) && if ((cw->c->gl) && (_comp_mod->conf->texture_from_pixmap) &&