mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-03-22 06:38:37 -05: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_fn = resize_fn;
|
||||||
term->resize_ctx = resize_ctx;
|
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);
|
resize_fn(resize_ctx, term->cols, term->rows);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1205,6 +1205,7 @@ void notify_remote_exit(void *frontend)
|
|||||||
inst->back->free(inst->backhandle);
|
inst->back->free(inst->backhandle);
|
||||||
inst->backhandle = NULL;
|
inst->backhandle = NULL;
|
||||||
inst->back = NULL;
|
inst->back = NULL;
|
||||||
|
term_provide_resize_fn(inst->term, NULL, NULL);
|
||||||
update_specials_menu(inst);
|
update_specials_menu(inst);
|
||||||
}
|
}
|
||||||
gtk_widget_show(inst->restartitem);
|
gtk_widget_show(inst->restartitem);
|
||||||
|
@ -299,6 +299,7 @@ static void close_session(void)
|
|||||||
back->free(backhandle);
|
back->free(backhandle);
|
||||||
backhandle = NULL;
|
backhandle = NULL;
|
||||||
back = NULL;
|
back = NULL;
|
||||||
|
term_provide_resize_fn(term, NULL, NULL);
|
||||||
update_specials_menu(NULL);
|
update_specials_menu(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user