fix crash for small windows

use unconditional infinite loops
master
pancake@nopcode.org 2010-08-31 11:40:57 +02:00
parent 160bda1b60
commit 23cc3fc571
1 changed files with 5 additions and 1 deletions

6
st.c
View File

@ -1422,6 +1422,10 @@ resize(XEvent *e) {
tresize(col, row); tresize(col, row);
ttyresize(col, row); ttyresize(col, row);
XFreePixmap(xw.dis, xw.buf); 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)); xw.buf = XCreatePixmap(xw.dis, xw.win, xw.bufw, xw.bufh, XDefaultDepth(xw.dis, xw.scr));
draw(SCREEN_REDRAW); draw(SCREEN_REDRAW);
} }
@ -1436,7 +1440,7 @@ run(void) {
XSelectInput(xw.dis, xw.win, mask); XSelectInput(xw.dis, xw.win, mask);
XResizeWindow(xw.dis, xw.win, xw.w, xw.h); /* XXX: fix resize bug in wmii (?) */ XResizeWindow(xw.dis, xw.win, xw.w, xw.h); /* XXX: fix resize bug in wmii (?) */
while(1) { for(;;) {
FD_ZERO(&rfd); FD_ZERO(&rfd);
FD_SET(cmdfd, &rfd); FD_SET(cmdfd, &rfd);
FD_SET(xfd, &rfd); FD_SET(xfd, &rfd);