mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-09 17:38:00 +00:00
Fix a bug in which terminal output received from the session could be
buffered in terminal.c indefinitely and only released when further output turned up. Arose because we suppress the call to term_out from term_data if a drag-select is in progress, but when the drag-select ends we weren't proactively calling term_out to release the buffered data. So if your session generated some terminal output while you were in mid-select, _and had stopped by the time you let go of the mouse button_, then the output would just sit there until released by the next call to term_data. [originally from svn r9768]
This commit is contained in:
parent
a9eb51b7d4
commit
4c8c5e26b9
15
terminal.c
15
terminal.c
@ -6002,6 +6002,13 @@ void term_mouse(Terminal *term, Mouse_Button braw, Mouse_Button bcooked,
|
||||
request_paste(term->frontend);
|
||||
}
|
||||
|
||||
/*
|
||||
* Since terminal output is suppressed during drag-selects, we
|
||||
* should make sure to write any pending output if one has just
|
||||
* finished.
|
||||
*/
|
||||
if (term->selstate != DRAGGING)
|
||||
term_out(term);
|
||||
term_update(term);
|
||||
}
|
||||
|
||||
@ -6101,6 +6108,14 @@ void term_deselect(Terminal *term)
|
||||
{
|
||||
deselect(term);
|
||||
term_update(term);
|
||||
|
||||
/*
|
||||
* Since terminal output is suppressed during drag-selects, we
|
||||
* should make sure to write any pending output if one has just
|
||||
* finished.
|
||||
*/
|
||||
if (term->selstate != DRAGGING)
|
||||
term_out(term);
|
||||
}
|
||||
|
||||
int term_ldisc(Terminal *term, int option)
|
||||
|
Loading…
Reference in New Issue
Block a user