Skip to content

present: Send a PresentConfigureNotify event for destroyed windows

Adam Jackson requested to merge ajax/xserver:present-destroy-notify into master

This is a fix for a deadlock case, where the client ends up blocked waiting for a Present event that will never come because the window was destroyed.

The fix as written is a bit hacky. Clients will simply be sent this new kind of event rather than selecting for a new PresentDestroyNotify, and the values in the event run the risk of making the client do something "illegal", 0x0 isn't a valid size for example. In practice I expect it's fine, most clients are not expecting to survive their GLXWindow being ripped out from under them, which means this simply promotes a deadlock-on-exit to a crash-on-exit.

Posting this for discussion, I don't have a ton of time to follow up on this and I don't really care whether this is sent unconditionally or needs a whole new protocol bump. Frankly if I were bumping the protocol this is a pretty half-assed solution and #1428 is what I'd rather see. Regardless, someone decide and push this across the finish line please.

Merge request reports