From f22d8dc7e16b823fc28da0e53e794c1fb863a0ae Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Thu, 9 Jul 2026 11:19:29 +0100 Subject: [PATCH] Fix some test failures. --- cmd-break-pane.c | 2 ++ window.c | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/cmd-break-pane.c b/cmd-break-pane.c index 6fed599cf..5632b2eab 100644 --- a/cmd-break-pane.c +++ b/cmd-break-pane.c @@ -151,6 +151,7 @@ cmd_break_pane_exec(struct cmd *self, struct cmdq_item *item) layout_close_pane(wp); w = wp->window = window_create(w->sx, w->sy, w->xpixel, w->ypixel); + window_add_ref(w, __func__); options_set_parent(wp->options, w->options); wp->flags |= (PANE_STYLECHANGED|PANE_THEMECHANGED); TAILQ_INSERT_HEAD(&w->panes, wp, entry); @@ -173,6 +174,7 @@ cmd_break_pane_exec(struct cmd *self, struct cmdq_item *item) if (idx == -1) idx = -1 - options_get_number(dst_s->options, "base-index"); wl = session_attach(dst_s, w, idx, &cause); /* can't fail */ + window_remove_ref(w, __func__); if (!args_has(args, 'd')) { session_select(dst_s, wl->idx); cmd_find_from_session(current, dst_s, 0); diff --git a/window.c b/window.c index c1f4af350..6c326e0e6 100644 --- a/window.c +++ b/window.c @@ -1308,9 +1308,9 @@ window_pane_destroy(struct window_pane *wp) window_pane_wait_finish(wp); spawn_editor_finish(wp); - window_pane_clear_prompt(wp); RB_REMOVE(window_pane_tree, &all_window_panes, wp); wp->flags |= PANE_DESTROYED; + window_pane_clear_prompt(wp); window_pane_free_modes(wp); screen_write_clear_dirty(wp); @@ -1657,10 +1657,13 @@ window_pane_clear_prompt(struct window_pane *wp) if (prompt != NULL) { if (wpp != NULL) type = wpp->type; + wp->prompt = NULL; prompt_free(prompt); wp->flags |= PANE_REDRAW; - window_fire_pane_prompt("pane-prompt-closed", wp, type); + + if (~wp->flags & PANE_DESTROYED) + window_fire_pane_prompt("pane-prompt-closed", wp, type); } }