Clarify whether sending xdg_output.done on a v3 is an error
From the description of the xdg_output.done
event:
For objects version 3 onwards, this event is deprecated. Compositors
are not required to send it anymore and must send wl_output.done
instead.
William and I have differing interpretations of what this means; I interpret “must send wl_output.done instead” to mean that sending xdg_output.done
is an error; William points to “are not required to send it” to indicate that compositors may choose to send it.
Since there doesn't seem to be any benefit in sending xdg_output.done
on a v3 instance, I suggest making it clear that it must not be sent. This makes it more likely that clients will be portable across compositors (since setting a null listener for the done event will consistently work, rather than result in a segfault when run against a compositor that happens to send an unnecessary xdg_output.done
event).