lp:~compiz-team/compiz-core/compiz-core.fix_geometry_cycling
- Get this branch:
- bzr branch lp:~compiz-team/compiz-core/compiz-core.fix_geometry_cycling
Branch merges
- Mirco Müller (community): Approve
-
Diff: 94 lines (+24/-1)2 files modifiedsrc/privatewindow.h (+3/-0)
src/window.cpp (+21/-1)
Branch information
Recent revisions
- 2798. By Sam Spilsbury
-
Don't allow outdated server position to move a window back if a plugin
has already requested at a point in time past when the server was told to move
the window to change the geometry without syncing the position.This should solve the problem of plugin A doing w->move, w->syncPosition and plugin
B doing w->move (wait) w->syncPosition where we return to handleEvent in between
the move and the position sync and the server will send us a ConfigureNotify
event for the position that was last sent to the server even if a plugin
has more recently updated the current geometry, and this geometry recieved
from the server will overwrite the current plugin's working geometry that
it was going to sync anyways later and cause moveNotify to be called.At the moment, we're just comparing timestamps from when the geometry was
last updated by a plugin and when geometry was last sent to the server. Note
that in reality, CompWindow::move should not be updating priv->geometry directly,
this should only really be allowed to be updated by the server. However, it
doesn't make sense for it to update priv->serverGeometry as that was the
geometry last sent to the server. In reality, a larger API break will be
needed in order to represent the four possible states of geometry at any given
time.a) geometry by the compositor (current geometry, not pending to send to server)
b) geometry last sent to server
c) geometry last recieved by the server
d) current server side geometry (which must be retrieved via a round-trip
to the server)Merge.
- 2794. By Sam Spilsbury
-
Revert <email address hidden>
This reverts "Fix some other places we were using priv->attrib incorrectly".
It seems like this causes more problems than it solves, which will need to be
investigated.
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:compiz-core/0.9.5