t* dwm + patches
       
   URI git clone git://git.codevoid.de/dwm-sdk
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 2ffdc1936cf13af5df0cc6d9415961dbe13b9cf8
   DIR parent 0fe52c63ea9382a940afa7573993218ead14c2cf
   URI Author: Anselm R.Garbe <arg@10ksloc.org>
       Date:   Mon, 14 Aug 2006 15:11:02 +0200
       
       some other small fixes
       
       Diffstat:
         M event.c                             |       6 ++++--
         M main.c                              |      16 ++++++++--------
       
       2 files changed, 12 insertions(+), 10 deletions(-)
       ---
   DIR diff --git a/event.c b/event.c
       t@@ -254,13 +254,15 @@ keypress(XEvent *e)
                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
   DIR diff --git a/main.c b/main.c
       t@@ -196,6 +196,7 @@ main(int argc, char *argv[])
        
                XSetErrorHandler(NULL);
                xerrorxlib = XSetErrorHandler(xerror);
       +        XSync(dpy, False);
        
                /* init atoms */
                wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False);
       t@@ -269,13 +270,6 @@ main(int argc, char *argv[])
                        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)
       t@@ -284,9 +278,15 @@ main(int argc, char *argv[])
                                                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);