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
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
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.