• Olivier Fourdan's avatar
    wayland: No xdg-output events without a logical monitor · 68ec9ac0
    Olivier Fourdan authored
    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
    68ec9ac0
Name
Last commit
Last update
..
backends Loading commit data...
compositor Loading commit data...
core Loading commit data...
meta Loading commit data...
tests Loading commit data...
ui Loading commit data...
wayland Loading commit data...
x11 Loading commit data...
.cvsignore Loading commit data...
Makefile-tests.am Loading commit data...
Makefile.am Loading commit data...
libmutter.pc.in Loading commit data...
meta-enum-types.c.in Loading commit data...
meta-enum-types.h.in Loading commit data...
org.freedesktop.login1.xml Loading commit data...
org.gnome.Mutter.DisplayConfig.xml Loading commit data...
org.gnome.Mutter.IdleMonitor.xml Loading commit data...
org.gnome.Mutter.RemoteDesktop.xml Loading commit data...
org.gnome.Mutter.ScreenCast.xml Loading commit data...