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:
parent
80ee991c82
commit
7a4ef1491e
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user