Merge lp://qastaging/~compiz-team/compiz-core/compiz-core.fix_864330 into lp://qastaging/compiz-core/0.9.5
Status: | Merged | ||||
---|---|---|---|---|---|
Merged at revision: | 2877 | ||||
Proposed branch: | lp://qastaging/~compiz-team/compiz-core/compiz-core.fix_864330 | ||||
Merge into: | lp://qastaging/compiz-core/0.9.5 | ||||
Diff against target: |
563 lines (+198/-74) 4 files modified
plugins/move/src/move.cpp (+1/-1) src/privatescreen.h (+6/-0) src/privatewindow.h (+2/-1) src/window.cpp (+189/-72) |
||||
To merge this branch: | bzr merge lp://qastaging/~compiz-team/compiz-core/compiz-core.fix_864330 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Jason Smith (community) | Approve | ||
Review via email: mp+78935@code.qastaging.launchpad.net |
Description of the change
Rework the event tracking system slightly to cover more cases where events would
not be recorded properly:
1. When determining restack requests relative to another window which is pending
a restack, check to see if we already requested to restack relative to it
after it was pending the restack, rather than unconditionally submitting
the restack and risking that being a no-op
2. When a window gets closed, its frame window is marked "None" immediately
so we must discard tracking of any remaining pending configure events
as they wont come to the frame window as we know it
3. Remove the static timeout and replace it with a timer object that clears up
any stale configure requests which didn't get matched to events (note that
this will be removed, but exists only to safeguard against performance regressions
with the current API)
4. Make the move plugin lock down server geometry updates whenever it receives the
"lock_position" signal on either the frame or the client window
5. Fix a problem with maximizing undecorated windows (resized to height = 0)
code looks good, testing hasn't yet revealed any issues