term: destroy: set term->window = NULL after destroying it

This fixes a crash in urls_reset() on destroy, where we tried to
access an already free:d window pointer in order to destroy the jump
label surfaces.
This commit is contained in:
Daniel Eklöf 2021-01-31 11:53:12 +01:00
parent 44b7758416
commit 0cbdf657a7
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F

View file

@ -1405,8 +1405,10 @@ term_destroy(struct terminal *term)
fdm_del(term->fdm, term->flash.fd);
fdm_del(term->fdm, term->ptmx);
if (term->window != NULL)
if (term->window != NULL) {
wayl_win_destroy(term->window);
term->window = NULL;
}
mtx_lock(&term->render.workers.lock);
xassert(tll_length(term->render.workers.queue) == 0);