diff options
author | pancake@nopcode.org <unknown> | 2010-08-31 11:40:57 +0200 |
---|---|---|
committer | pancake@nopcode.org <unknown> | 2010-08-31 11:40:57 +0200 |
commit | 23cc3fc5715a650c91e3b99074c31aaf63e2102c (patch) | |
tree | ee016dc4b1a340e074fcab15fa53800ea5fa7aac /st.c | |
parent | 160bda1b60148ce8f7d3b001ada2b12f1da9e152 (diff) | |
download | st-23cc3fc5715a650c91e3b99074c31aaf63e2102c.tar.gz st-23cc3fc5715a650c91e3b99074c31aaf63e2102c.zip |
fix crash for small windows
use unconditional infinite loops
Diffstat (limited to 'st.c')
-rw-r--r-- | st.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -1422,6 +1422,10 @@ resize(XEvent *e) { | |||
1422 | tresize(col, row); | 1422 | tresize(col, row); |
1423 | ttyresize(col, row); | 1423 | ttyresize(col, row); |
1424 | XFreePixmap(xw.dis, xw.buf); | 1424 | XFreePixmap(xw.dis, xw.buf); |
1425 | if(xw.bufh<1) | ||
1426 | xw.bufh = 1; | ||
1427 | if(xw.bufw<1) | ||
1428 | xw.bufw = 1; | ||
1425 | xw.buf = XCreatePixmap(xw.dis, xw.win, xw.bufw, xw.bufh, XDefaultDepth(xw.dis, xw.scr)); | 1429 | xw.buf = XCreatePixmap(xw.dis, xw.win, xw.bufw, xw.bufh, XDefaultDepth(xw.dis, xw.scr)); |
1426 | draw(SCREEN_REDRAW); | 1430 | draw(SCREEN_REDRAW); |
1427 | } | 1431 | } |
@@ -1436,7 +1440,7 @@ run(void) { | |||
1436 | XSelectInput(xw.dis, xw.win, mask); | 1440 | XSelectInput(xw.dis, xw.win, mask); |
1437 | XResizeWindow(xw.dis, xw.win, xw.w, xw.h); /* XXX: fix resize bug in wmii (?) */ | 1441 | XResizeWindow(xw.dis, xw.win, xw.w, xw.h); /* XXX: fix resize bug in wmii (?) */ |
1438 | 1442 | ||
1439 | while(1) { | 1443 | for(;;) { |
1440 | FD_ZERO(&rfd); | 1444 | FD_ZERO(&rfd); |
1441 | FD_SET(cmdfd, &rfd); | 1445 | FD_SET(cmdfd, &rfd); |
1442 | FD_SET(xfd, &rfd); | 1446 | FD_SET(xfd, &rfd); |