diff --git a/src/wayland/handlers/output_configuration.rs b/src/wayland/handlers/output_configuration.rs index 73d7b9a1..f0f5b280 100644 --- a/src/wayland/handlers/output_configuration.rs +++ b/src/wayland/handlers/output_configuration.rs @@ -137,14 +137,31 @@ impl State { for output in conf .iter() - .filter(|(_, c)| matches!(c, OutputConfiguration::Enabled { .. })) + .filter(|(_, c)| { + matches!( + c, + OutputConfiguration::Enabled { + mirroring: None, + .. + } + ) + }) .map(|(o, _)| o) { self.common.output_configuration_state.enable_head(output); } for output in conf .iter() - .filter(|(_, c)| matches!(c, OutputConfiguration::Disabled)) + .filter(|(_, c)| { + matches!( + c, + OutputConfiguration::Disabled + | OutputConfiguration::Enabled { + mirroring: Some(_), + .. + } + ) + }) .map(|(o, _)| o) { self.common.output_configuration_state.disable_head(output);