aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Viktorsson <williamviktorsson@gmail.com>2024-04-21 01:11:46 +0200
committerGitHub <noreply@github.com>2024-04-20 23:11:46 +0000
commit18fff6a12b2d20ae76fc3152db01daaa71a96aba (patch)
tree4135cc6a0e523a91a8732d2cc6af9448fec451fb
parentd28868855afd769209a7ac81692cdbaa67be2905 (diff)
downloadalacritty-18fff6a12b2d20ae76fc3152db01daaa71a96aba.tar.gz
alacritty-18fff6a12b2d20ae76fc3152db01daaa71a96aba.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.md1
-rw-r--r--alacritty/src/input/mod.rs9
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(),