aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpancake@nopcode.org <unknown>2010-08-31 11:40:57 +0200
committerpancake@nopcode.org <unknown>2010-08-31 11:40:57 +0200
commit725ec8ff4a45984a669b6773dc5177e629b5e251 (patch)
treeee016dc4b1a340e074fcab15fa53800ea5fa7aac
parent9669f718ab1bbff64fdaef74688909d8b4d85826 (diff)
downloadst-725ec8ff4a45984a669b6773dc5177e629b5e251.tar.gz
st-725ec8ff4a45984a669b6773dc5177e629b5e251.tar.bz2
fix crash for small windows
use unconditional infinite loops
-rw-r--r--st.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/st.c b/st.c
index 6a90176..7567e57 100644
--- a/st.c
+++ b/st.c
@@ -1422,6 +1422,10 @@ resize(XEvent *e) {
tresize(col, row);
ttyresize(col, row);
XFreePixmap(xw.dis, xw.buf);
+ if(xw.bufh<1)
+ xw.bufh = 1;
+ if(xw.bufw<1)
+ xw.bufw = 1;
xw.buf = XCreatePixmap(xw.dis, xw.win, xw.bufw, xw.bufh, XDefaultDepth(xw.dis, xw.scr));
draw(SCREEN_REDRAW);
}
@@ -1436,7 +1440,7 @@ run(void) {
XSelectInput(xw.dis, xw.win, mask);
XResizeWindow(xw.dis, xw.win, xw.w, xw.h); /* XXX: fix resize bug in wmii (?) */
- while(1) {
+ for(;;) {
FD_ZERO(&rfd);
FD_SET(cmdfd, &rfd);
FD_SET(xfd, &rfd);