diff options
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/main.c b/main.c index 906505c..6ef9ea7 100644 --- a/main.c +++ b/main.c @@ -162,7 +162,7 @@ xerror(Display *dpy, XErrorEvent *ee) int main(int argc, char *argv[]) { - int i; + int i, xfd; unsigned int mask; fd_set rd; Bool readin = True; @@ -181,6 +181,7 @@ main(int argc, char *argv[]) if(!dpy) eprint("dwm: cannot open display\n"); + xfd = ConnectionNumber(dpy); screen = DefaultScreen(dpy); root = RootWindow(dpy, screen); @@ -260,15 +261,15 @@ main(int argc, char *argv[]) FD_ZERO(&rd); if(readin) FD_SET(STDIN_FILENO, &rd); - FD_SET(ConnectionNumber(dpy), &rd); + FD_SET(xfd, &rd); - i = select(ConnectionNumber(dpy) + 1, &rd, 0, 0, 0); + i = select(xfd + 1, &rd, 0, 0, 0); if(i == -1 && errno == EINTR) continue; if(i < 0) eprint("select failed\n"); else if(i > 0) { - if(FD_ISSET(ConnectionNumber(dpy), &rd)) { + if(FD_ISSET(xfd, &rd)) { while(XPending(dpy)) { XNextEvent(dpy, &ev); if(handler[ev.type]) |