some other small fixes
authorAnselm R.Garbe <arg@10ksloc.org>
Mon, 14 Aug 2006 15:11:02 +0200
changeset 275 425cd4490c1e
parent 274 97e8cb712fd9
child 276 9a0a351dd910
some other small fixes
event.c
main.c
--- a/event.c	Mon Aug 14 11:38:43 2006 +0200
+++ b/event.c	Mon Aug 14 15:11:02 2006 +0200
@@ -254,13 +254,15 @@
 	XKeyEvent *ev = &e->xkey;
 
 	keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0);
-	for(i = 0; i < len; i++)
+	for(i = 0; i < len; i++) {
 		if(keysym == key[i].keysym &&
-				CLEANMASK(key[i].mod) == CLEANMASK(ev->state)) {
+				CLEANMASK(key[i].mod) == CLEANMASK(ev->state))
+		{
 			if(key[i].func)
 				key[i].func(&key[i].arg);
 			return;
 		}
+	}
 }
 
 static void
--- 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);