diff -r 014df3c34b64 dwm.c
--- a/dwm.c     Sat Jun 25 09:07:04 2011 +0100
+++ b/dwm.c     Sat Jun 25 22:46:04 2011 +0200
@@ -827,13 +827,14 @@
        if((ev->mode != NotifyNormal || ev->detail == NotifyInferior) && 
ev->window != root)
                return;
        c = wintoclient(ev->window);
-       if((m = wintomon(ev->window)) && m != selmon) {
+       m = c ? c->mon : wintomon(ev->window);
+       if(m != selmon) {
                unfocus(selmon->sel, True);
                selmon = m;
        }
-       else if(c == selmon->sel || c == NULL)
+       else if(!c || c == selmon->sel)
                return;
-       focus((wintoclient(ev->window)));
+       focus(c);
 }
 
 void

Reply via email to