1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-23 13:21:38 +03:00

mux: fix local/remote tab tracking

The issue here is that when spawning a new tab in the mux client,
we didn't record the local/remote tab id mapping.

Subsequently, when processing the overall list of tabs, we'd realize
that the mapping was missing and allocate a new local tab to act
as the holder for the existing remote tab and end up with a strange
aliased view of the tab in a second tab!

This commit establishes that mapping at the time that we spawn
the new pane.

refs: https://github.com/wez/wezterm/issues/1222
This commit is contained in:
Wez Furlong 2021-10-17 09:52:19 -07:00
parent fb50014ed5
commit 9d5a8ec7e8

View File

@ -399,6 +399,8 @@ impl Domain for ClientDomain {
));
let tab = Rc::new(Tab::new(&size));
tab.assign_pane(&pane);
inner.remove_old_tab_mapping(result.tab_id);
inner.record_remote_to_local_tab_mapping(result.tab_id, tab.tab_id());
let mux = Mux::get().unwrap();
mux.add_tab_and_active_pane(&tab)?;