wayland: No xdg-output events without a logical monitor
To avoid a known race condition in the wl_output protocol documented in
https://phabricator.freedesktop.org/T7722, mutter delays the wl_output
destruction but nullify the logical_monitor
associated with the
wl_output
and the binding routine bind_output()
makes sure not to
send wl_output events if the logical_monitor
is NULL
(see commit
1923db97).
The binding routine for xdg_output
however does not check for such a
condition, hence if the output configuration changes while a client is
binding to xdg-output (typically Xwayland at startup), mutter would
crash while trying to access the logical_monitor which was nullified by
the change in configuration.
Just like bind_output()
does for wl_output, do not send xdg-output
events if there is no logical_monitor
yet.
Closes: #194 (closed)