summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpancake@nopcode.org2010-08-31 11:40:57 +0200
committerpancake@nopcode.org2010-08-31 11:40:57 +0200
commit23cc3fc5715a650c91e3b99074c31aaf63e2102c (patch)
treeee016dc4b1a340e074fcab15fa53800ea5fa7aac
parent160bda1b60148ce8f7d3b001ada2b12f1da9e152 (diff)
downloadst-23cc3fc5715a650c91e3b99074c31aaf63e2102c.tar.gz
st-23cc3fc5715a650c91e3b99074c31aaf63e2102c.tar.xz
st-23cc3fc5715a650c91e3b99074c31aaf63e2102c.zip
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);