forked from enlightenment/enlightenment
force window resize when pixmap comes back with a size that doesn't match the client window
this causes comp to refetch the pixmap again with the correct size and allows windows which were shaded across a restart to be unshaded
This commit is contained in:
parent
053a14197e
commit
727cd45b5c
|
@ -497,7 +497,17 @@ _e_comp_win_geometry_update(E_Comp_Win *cw)
|
||||||
else if (cw->bd)
|
else if (cw->bd)
|
||||||
{
|
{
|
||||||
if (((!cw->bd->shaded) && (!cw->bd->shading)) && cw->pw && cw->ph)
|
if (((!cw->bd->shaded) && (!cw->bd->shading)) && cw->pw && cw->ph)
|
||||||
w = cw->pw + cw->bd->client_inset.l + cw->bd->client_inset.r, h = cw->ph + cw->bd->client_inset.t + cw->bd->client_inset.b;
|
{
|
||||||
|
w = cw->pw + cw->bd->client_inset.l + cw->bd->client_inset.r, h = cw->ph + cw->bd->client_inset.t + cw->bd->client_inset.b;
|
||||||
|
if ((cw->pw != cw->bd->client.w) || (cw->ph != cw->bd->client.h))
|
||||||
|
{
|
||||||
|
/* something fucked us and the pixmap came back with the wrong size
|
||||||
|
* fix it by forcing a resize in e_border
|
||||||
|
*/
|
||||||
|
BD_CHANGED(cw->bd);
|
||||||
|
cw->bd->changes.size = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
w = cw->bd->w, h = cw->bd->h;
|
w = cw->bd->w, h = cw->bd->h;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue