Merge lp:~compiz-team/compiz-animation-plugin/compiz-animation-plugin.fix_864476 into lp:compiz-animation-plugin
Status: | Merged |
---|---|
Merged at revision: | 392 |
Proposed branch: | lp:~compiz-team/compiz-animation-plugin/compiz-animation-plugin.fix_864476 |
Merge into: | lp:compiz-animation-plugin |
Diff against target: |
91 lines (+45/-23) 1 file modified
src/animation.cpp (+45/-23) |
To merge this branch: | bzr merge lp:~compiz-team/compiz-animation-plugin/compiz-animation-plugin.fix_864476 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Robert Carr (community) | Approve | ||
Review via email: mp+77806@code.launchpad.net |
Description of the change
Clean up animations and apply attributes to windows in donePaint rather than preparePaint.
Cleaning up animations in preparePaint allowed for a one-frame race condition to occurr
where we would not longer be painting the window in it's animated state yet still awaiting
a return to the next frame in order to change the attributes of the window. This meant that
for one frame, the window would be visible in it's pre-animation state if the screen
was being consistently, or if damage was applied outside the animated area. This was visible
with eg, the shade and unshade animations, where the decor plugin would paint the full size
of the decorations for one frame since the frame geometry hadn't been updated yet.
Fixes LP #864476
Clean up animations and apply attributes to windows in donePaint rather than preparePaint.
Cleaning up animations in preparePaint allowed for a one-frame race condition to occurr
where we would not longer be painting the window in it's animated state yet still awaiting
a return to the next frame in order to change the attributes of the window. This meant that
for one frame, the window would be visible in it's pre-animation state if the screen
was being consistently, or if damage was applied outside the animated area. This was visible
with eg, the shade and unshade animations, where the decor plugin would paint the full size
of the decorations for one frame since the frame geometry hadn't been updated yet.
Fixes LP #864476