mirror of
https://github.com/tmux/tmux.git
synced 2025-09-01 20:57:00 +00:00
Do not notify window-layout-changed if the window is about to be
destroyed (since it may have been freed by the time the notify happens), from Romain Francoise in GitHub issue 3860.
This commit is contained in:
10
window.c
10
window.c
@ -340,7 +340,7 @@ window_destroy(struct window *w)
|
||||
{
|
||||
log_debug("window @%u destroyed (%d references)", w->id, w->references);
|
||||
|
||||
window_unzoom(w);
|
||||
window_unzoom(w, 0);
|
||||
RB_REMOVE(windows, &windows, w);
|
||||
|
||||
if (w->layout_root != NULL)
|
||||
@ -666,7 +666,7 @@ window_zoom(struct window_pane *wp)
|
||||
}
|
||||
|
||||
int
|
||||
window_unzoom(struct window *w)
|
||||
window_unzoom(struct window *w, int notify)
|
||||
{
|
||||
struct window_pane *wp;
|
||||
|
||||
@ -683,7 +683,9 @@ window_unzoom(struct window *w)
|
||||
wp->saved_layout_cell = NULL;
|
||||
}
|
||||
layout_fix_panes(w, NULL);
|
||||
notify_window("window-layout-changed", w);
|
||||
|
||||
if (notify)
|
||||
notify_window("window-layout-changed", w);
|
||||
|
||||
return (0);
|
||||
}
|
||||
@ -697,7 +699,7 @@ window_push_zoom(struct window *w, int always, int flag)
|
||||
w->flags |= WINDOW_WASZOOMED;
|
||||
else
|
||||
w->flags &= ~WINDOW_WASZOOMED;
|
||||
return (window_unzoom(w) == 0);
|
||||
return (window_unzoom(w, 1) == 0);
|
||||
}
|
||||
|
||||
int
|
||||
|
Reference in New Issue
Block a user