main.c
changeset 275 425cd4490c1e
parent 274 97e8cb712fd9
child 278 c1187ddcd7f7
--- a/main.c	Mon Aug 14 11:38:43 2006 +0200
+++ b/main.c	Mon Aug 14 15:11:02 2006 +0200
@@ -196,6 +196,7 @@
 
 	XSetErrorHandler(NULL);
 	xerrorxlib = XSetErrorHandler(xerror);
+	XSync(dpy, False);
 
 	/* init atoms */
 	wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False);
@@ -269,13 +270,6 @@
 		if(i < 0)
 			eprint("select failed\n");
 		else if(i > 0) {
-			if(FD_ISSET(xfd, &rd)) {
-				while(XPending(dpy)) {
-					XNextEvent(dpy, &ev);
-					if(handler[ev.type])
-						(handler[ev.type])(&ev); /* call handler */
-				}
-			}
 			if(readin && FD_ISSET(STDIN_FILENO, &rd)) {
 				readin = NULL != fgets(stext, sizeof(stext), stdin);
 				if(readin)
@@ -284,9 +278,15 @@
 					strcpy(stext, "broken pipe");
 				drawstatus();
 			}
+			if(FD_ISSET(xfd, &rd)) {
+				while(XPending(dpy)) {
+					XNextEvent(dpy, &ev);
+					if(handler[ev.type])
+						(handler[ev.type])(&ev); /* call handler */
+				}
+			}
 		}
 	}
-
 	cleanup();
 	XCloseDisplay(dpy);