Merge lp:~glcompbench-dev/glcompbench/bug-984058 into lp:glcompbench
Proposed by
Jesse Barker
Status: | Merged |
---|---|
Merged at revision: | 81 |
Proposed branch: | lp:~glcompbench-dev/glcompbench/bug-984058 |
Merge into: | lp:glcompbench |
Diff against target: |
152 lines (+26/-15) 4 files modified
src/composite-canvas-egl.cc (+1/-0) src/composite-canvas-glx.cc (+1/-0) src/composite-canvas.cc (+19/-10) src/composite-window.cc (+5/-5) |
To merge this branch: | bzr merge lp:~glcompbench-dev/glcompbench/bug-984058 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Alexandros Frantzis | Pending | ||
Review via email: mp+102594@code.launchpad.net |
Description of the change
Canvas: Given the asynchronous nature of event dispatch, we must check for whether we might be handling events for a window that has already been destroyed. So, once we get the next event from the queue, we need to extract the window ID from the event struct, then check to see if there's a pending DestroyNotify event for our window. If so, we remove it from our managed window list, and, if our managed window list was command-line supplied, remove the ID from the list parsed by the option handling code so other canvases don't trip over it. If not, it's business as usual.
To post a comment you must log in.
I don't see a need for CompositeCanvas ::get_window_ from_xevent( ), we can just use event.xany.window for all events. Other than that, it looks good.