aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2007-11-27 19:43:50 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2007-11-27 19:43:50 +0000
commit2fabfb30b0275a0adc7b5bc0a260ab830d1f41ed (patch)
tree64a5f000de438e60e16af03b4ebe33634b83da1a
parent80e30f693c925841b5874063ca1d8aab2c42d231 (diff)
downloadrtmux-2fabfb30b0275a0adc7b5bc0a260ab830d1f41ed.tar.gz
rtmux-2fabfb30b0275a0adc7b5bc0a260ab830d1f41ed.tar.bz2
rtmux-2fabfb30b0275a0adc7b5bc0a260ab830d1f41ed.zip
Make reset actually work.
-rw-r--r--tty.c11
-rw-r--r--window-copy.c5
2 files changed, 9 insertions, 7 deletions
diff --git a/tty.c b/tty.c
index 5e07b129..a63d5445 100644
--- a/tty.c
+++ b/tty.c
@@ -1,4 +1,4 @@
-/* $Id: tty.c,v 1.2 2007-11-27 19:32:15 nicm Exp $ */
+/* $Id: tty.c,v 1.3 2007-11-27 19:43:50 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -121,7 +121,11 @@ tty_close(struct tty *tty)
if (ioctl(tty->fd, TIOCGWINSZ, &ws) == -1)
fatal("ioctl(TIOCGWINSZ)");
+ if (tcsetattr(tty->fd, TCSANOW, &tty->tio) != 0)
+ fatal("tcsetattr failed");
+ if (change_scroll_region != NULL)
+ tty_raw(tty, tparm(change_scroll_region, 0, ws.ws_row - 1));
if (keypad_local != NULL)
tty_raw(tty, keypad_local);
if (exit_ca_mode != NULL)
@@ -131,13 +135,8 @@ tty_close(struct tty *tty)
tty_raw(tty, cursor_normal);
if (exit_attribute_mode != NULL)
tty_raw(tty, exit_attribute_mode);
- if (change_scroll_region != NULL)
- tty_raw(tty, tparm(change_scroll_region, 0, ws.ws_row - 1));
- if (tcsetattr(tty->fd, TCSANOW, &tty->tio) != 0)
- fatal("tcsetattr failed");
del_curterm(tty->termp);
-
tty_keys_free(tty);
close(tty->fd);
diff --git a/window-copy.c b/window-copy.c
index eb5c5d37..e6c588c4 100644
--- a/window-copy.c
+++ b/window-copy.c
@@ -1,4 +1,4 @@
-/* $Id: window-copy.c,v 1.11 2007-11-27 19:32:15 nicm Exp $ */
+/* $Id: window-copy.c,v 1.12 2007-11-27 19:43:50 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -121,6 +121,9 @@ window_copy_draw(
data->size = s->hsize;
}
screen_draw_set_offset(ctx, data->ox, data->oy);
+ screen_draw_set_selection(ctx,
+ data->selflag, data->selx, data->sely,
+ data->cx + data->ox, data->size + data->cy - data->oy);
if (py != 0)
screen_draw_lines(ctx, py, ny);