diff --git a/ldisc.c b/ldisc.c index ceafa416..a149c6d0 100644 --- a/ldisc.c +++ b/ldisc.c @@ -73,6 +73,12 @@ void ldisc_send(char *buf, int len, int interactive) ldisc_update(ECHOING, EDITING); return; } + /* + * Notify the front end that something was pressed, in case + * it's depending on finding out (e.g. keypress termination for + * Close On Exit). + */ + frontend_keypress(); /* * Less than zero means null terminated special string. */ diff --git a/putty.h b/putty.h index 99b19180..3594ceb3 100644 --- a/putty.h +++ b/putty.h @@ -429,6 +429,7 @@ void beep(int); void begin_session(void); void sys_cursor(int x, int y); void request_paste(void); +void frontend_keypress(void); #define OPTIMISE_IS_SCROLL 1 void set_iconic(int iconic); diff --git a/window.c b/window.c index abbfdd89..1aa20908 100644 --- a/window.c +++ b/window.c @@ -4553,3 +4553,14 @@ void flip_full_screen() ShowWindow(hwnd, SW_MAXIMIZE); } } + +void frontend_keypress(void) +{ + /* + * Keypress termination in non-Close-On-Exit mode is not + * currently supported in PuTTY proper, because the window + * always has a perfectly good Close button anyway. So we do + * nothing here. + */ + return; +}