From: Christoph Lohmann <20h@r-36.net>
Date: Mon, 24 Sep 2012 09:04:26 +0000 (+0200)
Subject: The xinit() call needs to be behind all the tty init, otherwise all the
X-Git-Url: https://git.owens.tech/assets/editable-focus.html/assets/editable-focus.html/git?a=commitdiff_plain;h=055a4f6d2cc727cc58509a39e130bdd8dbfa452b;p=st.git

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.
---

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;