xwayland: Release keys on keyboard `enter` event if `leave` wasn't received
The code here assumed a leave
event always occurs between two enter
events. On Sway (and presumably other compositors) this happens even if
the client has destroyed the wl_surface
, but the client gets a null
surface
here. (Which presumably on on the wire is the id of the
destroyed surface.)
This seems like a bad thing to rely on, and is easy to avoid. But if this is correct to assume, the Wayland protocol should be explicit about this.