XON has to be sent before restoring c_iflag
This commit is contained in:
parent
53c1e6cd50
commit
9bdf88c84a
|
@ -140,6 +140,8 @@ static void start_selection(VteTerminal *vte, select_info *select) {
|
||||||
static void end_selection(VteTerminal *vte, select_info *select) {
|
static void end_selection(VteTerminal *vte, select_info *select) {
|
||||||
feed_str(vte, CSI "?25h"); // show cursor
|
feed_str(vte, CSI "?25h"); // show cursor
|
||||||
|
|
||||||
|
vte_terminal_feed_child(vte, "\x11", 1); // resume output (XON)
|
||||||
|
|
||||||
// restore c_iflag
|
// restore c_iflag
|
||||||
int fd = vte_pty_get_fd(vte_terminal_get_pty_object(vte));
|
int fd = vte_pty_get_fd(vte_terminal_get_pty_object(vte));
|
||||||
struct termios t;
|
struct termios t;
|
||||||
|
@ -147,7 +149,6 @@ static void end_selection(VteTerminal *vte, select_info *select) {
|
||||||
t.c_iflag = select->ciflag_old;
|
t.c_iflag = select->ciflag_old;
|
||||||
tcsetattr(fd, TCSANOW, &t);
|
tcsetattr(fd, TCSANOW, &t);
|
||||||
|
|
||||||
vte_terminal_feed_child(vte, "\x11", 1); // resume output (XON)
|
|
||||||
vte_terminal_select_none(vte);
|
vte_terminal_select_none(vte);
|
||||||
select->mode = SELECT_OFF;
|
select->mode = SELECT_OFF;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue