docs: better explain write_to reasoning
This commit is contained in:
parent
45f2305f61
commit
273ce6aa5d
1 changed files with 3 additions and 3 deletions
|
|
@ -46,9 +46,9 @@ impl X11Selection for Selection {
|
||||||
|
|
||||||
fn write_to(&self, mime: &str, pipe: WritePipe) {
|
fn write_to(&self, mime: &str, pipe: WritePipe) {
|
||||||
if let Some(target) = self.mimes.iter().find(|target| target.name == mime) {
|
if let Some(target) = self.mimes.iter().find(|target| target.name == mime) {
|
||||||
// XWayland does not handle a selection having multiple outstanding INCR transfers well,
|
// A lot of X applications do not anticipate the possibility of multiple requests for
|
||||||
// even if they have different targets and properties. Xwayland can fail to send
|
// its owned selection to need the INCR transfer mechanism and will stop sending the
|
||||||
// `PropertyNotify` events which indefinitely hang Wayland transfer receivers.
|
// necessary `PropertyNotify` events, hanging Wayland transfer receivers.
|
||||||
// To remedy this, every target requested by Wayland is put into a FIFO queue and the
|
// To remedy this, every target requested by Wayland is put into a FIFO queue and the
|
||||||
// `ConvertSelection` starting the next request is not sent until `next_conversion`
|
// `ConvertSelection` starting the next request is not sent until `next_conversion`
|
||||||
// closes the `WritePipe`, marking termination of that request.
|
// closes the `WritePipe`, marking termination of that request.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue