We're now making all calls to both geometry () and serverGeometry () for managed windows return geometry last sent to server. The reason is that for managed windows, configureXWindow can never fail, so the geometry last sent is always the most up to date and the most accurate.
Override redirect windows cant be configured so we used the geometry last received from the server from that.
In my testing, this fixed practically all the flakiness.
Regressions fixed.
The big change in this branch is here:
CompWindow: :Geometry & :serverGeometry () const metry; override_ redirect ? priv->geometry : priv->serverGeo metry;
CompWindow:
{
- return priv->serverGeo
+ return priv->attrib.
}
CompWindow: :Geometry & :geometry () const override_ redirect ? priv->geometry : priv->serverGeo metry;
CompWindow:
{
- return priv->geometry;
+ return priv->attrib.
}
We're now making all calls to both geometry () and serverGeometry () for managed windows return geometry last sent to server. The reason is that for managed windows, configureXWindow can never fail, so the geometry last sent is always the most up to date and the most accurate.
Override redirect windows cant be configured so we used the geometry last received from the server from that.
In my testing, this fixed practically all the flakiness.