Clear X window in tsetreset()
tsetreset() is called when it is necessary a full initialization of the terminal, so it also should clean the full X window and not only the terminal content. It is necessary change the order of the initialization in main(), and put xinit before of tnew(), because tnew() calls to tsetreset(), and this can cause a call to xreset() with incorrect values. --- st.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)master
parent
21a0c4a2e0
commit
b6cfff1625
3
st.c
3
st.c
|
@ -952,6 +952,7 @@ treset(void) {
|
||||||
term.tabs[i] = 1;
|
term.tabs[i] = 1;
|
||||||
term.top = 0, term.bot = term.row - 1;
|
term.top = 0, term.bot = term.row - 1;
|
||||||
term.mode = MODE_WRAP;
|
term.mode = MODE_WRAP;
|
||||||
|
xclear(0, 0, xw.w, xw.h);
|
||||||
tclearregion(0, 0, term.col-1, term.row-1);
|
tclearregion(0, 0, term.col-1, term.row-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2433,9 +2434,9 @@ main(int argc, char *argv[]) {
|
||||||
|
|
||||||
run:
|
run:
|
||||||
setlocale(LC_CTYPE, "");
|
setlocale(LC_CTYPE, "");
|
||||||
|
xinit();
|
||||||
tnew(80, 24);
|
tnew(80, 24);
|
||||||
ttynew();
|
ttynew();
|
||||||
xinit();
|
|
||||||
selinit();
|
selinit();
|
||||||
run();
|
run();
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Reference in New Issue