mirror of
https://github.com/zellij-org/zellij.git
synced 2024-11-22 22:26:54 +03:00
fix(layouts): focus tab race (#2340)
This commit is contained in:
parent
04c6af182e
commit
88da3be23a
@ -2157,12 +2157,17 @@ pub(crate) fn screen_thread_main(
|
||||
screen.active_tab_indices.keys().next().copied()
|
||||
};
|
||||
match client_id_to_switch {
|
||||
Some(client_id) => {
|
||||
// we must make sure pending_tab_ids is empty because otherwise we cannot be
|
||||
// sure this instruction is applied at the right time (eg. we might have a
|
||||
// pending tab that will become not-pending after this instruction and change
|
||||
// the client focus, which should have happened before this instruction and not
|
||||
// after)
|
||||
Some(client_id) if pending_tab_ids.is_empty() => {
|
||||
screen.go_to_tab(tab_index as usize, client_id)?;
|
||||
screen.unblock_input()?;
|
||||
screen.render()?;
|
||||
},
|
||||
None => {
|
||||
_ => {
|
||||
if let Some(client_id) = client_id {
|
||||
pending_tab_switches.insert((tab_index as usize, client_id));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user