diff options
author | William Viktorsson <williamviktorsson@gmail.com> | 2024-04-21 01:11:46 +0200 |
---|---|---|
committer | Josh Rahm <rahm@google.com> | 2024-08-14 15:42:41 -0600 |
commit | 19f8a941d0ea8784c3b57524addb1acbfe9a5adb (patch) | |
tree | 5f06aa915fecf953bdb6f64209ab66c6214ee056 | |
parent | cea5bdb90654fda9ca881484a238ed4ac87b22e9 (diff) | |
download | r-alacritty-19f8a941d0ea8784c3b57524addb1acbfe9a5adb.tar.gz r-alacritty-19f8a941d0ea8784c3b57524addb1acbfe9a5adb.tar.bz2 r-alacritty-19f8a941d0ea8784c3b57524addb1acbfe9a5adb.zip |
Fix crash when trying to open a new tab on macOS
This fixes an issue where Alacritty would crash when trying to open a
new tab on macOS while having decorations disabled.
Co-authored-by: Christian Duerr <contact@christianduerr.com>
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | alacritty/src/input/mod.rs | 9 |
2 files changed, 8 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index b6e47476..e6b301e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ Notable changes to the `alacritty_terminal` crate are documented in its ### Fixed +- Crash when trying to create a new tab without decorations enabled - New window being treated as focused when it's not on Wayland ### Changed diff --git a/alacritty/src/input/mod.rs b/alacritty/src/input/mod.rs index 9a96b45b..365717c3 100644 --- a/alacritty/src/input/mod.rs +++ b/alacritty/src/input/mod.rs @@ -36,6 +36,8 @@ use alacritty_terminal::vi_mode::ViMotion; use alacritty_terminal::vte::ansi::{ClearMode, Handler}; use crate::clipboard::Clipboard; +#[cfg(target_os = "macos")] +use crate::config::window::Decorations; use crate::config::{Action, BindingMode, MouseAction, SearchAction, UiConfig, ViAction}; use crate::display::hint::HintMatch; use crate::display::window::Window; @@ -385,8 +387,11 @@ impl<T: EventListener> Execute<T> for Action { Action::CreateNewWindow => ctx.create_new_window(None), #[cfg(target_os = "macos")] Action::CreateNewTab => { - let tabbing_id = Some(ctx.window().tabbing_id()); - ctx.create_new_window(tabbing_id); + // Tabs on macOS are not possible without decorations. + if ctx.config().window.decorations != Decorations::None { + let tabbing_id = Some(ctx.window().tabbing_id()); + ctx.create_new_window(tabbing_id); + } }, #[cfg(target_os = "macos")] Action::SelectNextTab => ctx.window().select_next_tab(), |