1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-25 01:02:24 +00:00

The direct link between the terminal and the back end via

term_provide_resize_fn() was not being broken when the back end was
destroyed on session termination, causing resizing an inactive PuTTY
to be a segfault hazard.

[originally from svn r7143]
This commit is contained in:
Simon Tatham 2007-01-24 13:53:28 +00:00
parent 80ee991c82
commit 7a4ef1491e
3 changed files with 3 additions and 1 deletions

View File

@ -1722,7 +1722,7 @@ void term_provide_resize_fn(Terminal *term,
{
term->resize_fn = resize_fn;
term->resize_ctx = resize_ctx;
if (term->cols > 0 && term->rows > 0)
if (resize_fn && term->cols > 0 && term->rows > 0)
resize_fn(resize_ctx, term->cols, term->rows);
}

View File

@ -1205,6 +1205,7 @@ void notify_remote_exit(void *frontend)
inst->back->free(inst->backhandle);
inst->backhandle = NULL;
inst->back = NULL;
term_provide_resize_fn(inst->term, NULL, NULL);
update_specials_menu(inst);
}
gtk_widget_show(inst->restartitem);

View File

@ -299,6 +299,7 @@ static void close_session(void)
back->free(backhandle);
backhandle = NULL;
back = NULL;
term_provide_resize_fn(term, NULL, NULL);
update_specials_menu(NULL);
}