From 953c277cb08644a41dfba539897eebe4c5687a0d Mon Sep 17 00:00:00 2001 From: Victoria Brekenfeld Date: Wed, 26 Jun 2024 17:24:46 +0200 Subject: [PATCH] focus: Fix crash when no output is available --- src/shell/focus/mod.rs | 4 +++- src/shell/mod.rs | 8 +------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/shell/focus/mod.rs b/src/shell/focus/mod.rs index 275c5a66..0376e216 100644 --- a/src/shell/focus/mod.rs +++ b/src/shell/focus/mod.rs @@ -266,7 +266,9 @@ impl Common { let mut shell = state.common.shell.write().unwrap(); let output = seat.active_output(); if !shell.outputs().any(|o| o == &output) { - seat.set_active_output(&shell.outputs().next().unwrap()); + if let Some(other) = shell.outputs().next() { + seat.set_active_output(other); + } continue; } let last_known_focus = ActiveFocus::get(&seat); diff --git a/src/shell/mod.rs b/src/shell/mod.rs index 6dc2204a..69e49bfe 100644 --- a/src/shell/mod.rs +++ b/src/shell/mod.rs @@ -1455,13 +1455,7 @@ impl Shell { } pub fn outputs(&self) -> impl DoubleEndedIterator { - self.workspaces.sets.keys().chain( - self.workspaces - .backup_set - .as_ref() - .into_iter() - .map(|set| &set.output), - ) + self.workspaces.sets.keys() } pub fn next_output(&self, current_output: &Output, direction: Direction) -> Option<&Output> {