summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Lohmann2012-09-24 11:04:26 +0200
committerChristoph Lohmann2012-09-24 11:04:26 +0200
commit055a4f6d2cc727cc58509a39e130bdd8dbfa452b (patch)
treec7acbfa804768dddd2579e9d29f78d9708770d90
parente9c677816c0161a6702dabb244bd2fd918dcb0af (diff)
downloadst-055a4f6d2cc727cc58509a39e130bdd8dbfa452b.tar.gz
st-055a4f6d2cc727cc58509a39e130bdd8dbfa452b.tar.xz
st-055a4f6d2cc727cc58509a39e130bdd8dbfa452b.zip
The xinit() call needs to be behind all the tty init, otherwise all the
allocated structures are wrong. The xclear() is now done on purpose. Please keep X11 calls out of the way of pure tty-related calls.
-rw-r--r--st.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/st.c b/st.c
index 9760b6c..2d080e5 100644
--- a/st.c
+++ b/st.c
@@ -953,7 +953,7 @@ treset(void) {
term.tabs[i] = 1;
term.top = 0, term.bot = term.row - 1;
term.mode = MODE_WRAP;
- xclear(0, 0, xw.w, xw.h);
+
tclearregion(0, 0, term.col-1, term.row-1);
}
@@ -1728,6 +1728,7 @@ tputc(char *c) {
case 'c': /* RIS -- Reset to inital state */
treset();
term.esc = 0;
+ xclear(0, 0, xw.w, xw.h);
xresettitle();
break;
case '=': /* DECPAM -- Application keypad */
@@ -2456,9 +2457,9 @@ main(int argc, char *argv[]) {
run:
setlocale(LC_CTYPE, "");
- xinit();
tnew(80, 24);
ttynew();
+ xinit();
selinit();
run();
return 0;