1
1
mirror of https://github.com/wez/wezterm.git synced 2024-11-22 22:42:48 +03:00

mux: fix CloseCurrentPane={confirm=false}

After killing the remote pane, we no longer trigger the renderable
poll stuff that would detect that the pane was dead.

Let's speculatively set it to dead so that we don't get stuck with
stray tabs/panes.

https://github.com/wez/wezterm/issues/1752
This commit is contained in:
Wez Furlong 2022-03-28 22:12:04 -07:00
parent 1c9bd347c2
commit b398eaf656
2 changed files with 7 additions and 0 deletions

View File

@ -35,6 +35,7 @@ As features stabilize some brief notes about them will accumulate here.
* Hyperlink rules with more captures than replacements could panic wezterm when text matched. [#1780](https://github.com/wez/wezterm/issues/1780)
* Malformed XTGETTCAP response. [#1781](https://github.com/wez/wezterm/issues/1781)
* Multiplexer performance with images was unusuable for all but tiny images. [#1237](https://github.com/wez/wezterm/issues/1237)
* `CloseCurrentPane{confirm=false}` would leave behind a phantom tab/pane when used with the multiplexer. [#1277](https://github.com/wez/wezterm/issues/1277)
### 20220319-142410-0fcdea07

View File

@ -381,6 +381,12 @@ impl Pane for ClientPane {
.await
})
.detach();
// Explicitly mark ourselves as dead.
// Ideally we'd discover this later when polling the
// status, but killing the pane prevents the server
// side from sending us further data.
// <https://github.com/wez/wezterm/issues/1752>
self.renderable.borrow().inner.borrow_mut().dead = true;
}
fn mouse_event(&self, event: MouseEvent) -> anyhow::Result<()> {