X-Git-Url: https://git.xinqibao.xyz/st.git/blobdiff_plain/2181040594ae63f2821899caba0bef34257a6c2b..b4f623f9109cc38a87469c6430d5e780e9a01989:/st.c?ds=inline diff --git a/st.c b/st.c index 9b77a0b..5f206fd 100644 --- a/st.c +++ b/st.c @@ -230,6 +230,7 @@ void xbell(void) { XSetForeground(xw.dis, dc.gc, dc.col[BellCol]); XFillRectangle(xw.dis, xw.win, dc.gc, BORDER, BORDER, xw.bufw, xw.bufh); + XFlush(xw.dis); usleep(BellTime); draw(SCREEN_REDRAW); } @@ -372,11 +373,11 @@ tscrollup (int n) { for(i = 0; i < n; i++) memset(term.line[term.top+i], 0, term.col*sizeof(Glyph)); - for(i = term.top; i <= term.bot-n; i++) { + for(i = term.top; i <= term.bot-n; i++) { temp = term.line[i]; term.line[i] = term.line[i+n]; term.line[i+n] = temp; - } + } } void @@ -1180,7 +1181,7 @@ draw(int redraw_all) { char buf[DRAW_BUF_SIZ]; XSetForeground(xw.dis, dc.gc, dc.col[DefaultBG]); - XFillRectangle(xw.dis, xw.buf, dc.gc, 0, 0, xw.w, xw.h); + XFillRectangle(xw.dis, xw.buf, dc.gc, 0, 0, xw.bufw, xw.bufh); for(y = 0; y < term.row; y++) { base = term.line[y][0]; i = ox = 0; @@ -1293,7 +1294,7 @@ run(void) { FD_ZERO(&rfd); FD_SET(cmdfd, &rfd); FD_SET(xfd, &rfd); - if(select(MAX(xfd, cmdfd)+1, &rfd, NULL, NULL, NULL) == -1) { + if(select(MAX(xfd, cmdfd)+1, &rfd, NULL, NULL, NULL) < 0) { if(errno == EINTR) continue; die("select failed: %s\n", SERRNO);