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();
/* 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) &&