fix(tab): do not crash when only floating panes are left (#1266)

This commit is contained in:
Aram Drevekenin 2022-03-24 17:19:09 +01:00 committed by GitHub
parent c53b3235c8
commit 509f236023
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 1 deletions

View file

@ -429,7 +429,7 @@ impl Screen {
let size = self.size;
let overlay = self.overlay.clone();
for (tab_index, tab) in &mut self.tabs {
if tab.has_selectable_panes() {
if tab.has_selectable_tiled_panes() {
let vte_overlay = overlay.generate_overlay(size);
tab.render(&mut output, Some(vte_overlay));
} else {

View file

@ -1035,6 +1035,10 @@ impl Tab {
.filter(|(_, p)| p.selectable());
selectable_tiled_panes.count() > 0 || selectable_floating_panes.count() > 0
}
pub fn has_selectable_tiled_panes(&self) -> bool {
let selectable_tiled_panes = self.tiled_panes.get_panes().filter(|(_, p)| p.selectable());
selectable_tiled_panes.count() > 0
}
pub fn resize_whole_tab(&mut self, new_screen_size: Size) {
self.floating_panes.resize(new_screen_size);
self.tiled_panes.resize(new_screen_size);