commit 0ac783e0339048c219810d1180ee2df104a57ef6
parent 8541f1043c24ca6a6f068b9a3fe1b38989756a8a
Author: Kris Maglione <jg@suckless.org>
Date: Fri, 9 Feb 2007 14:06:24 -0500
Another go at preventing freeze
Diffstat:
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/client.c b/client.c
@@ -51,7 +51,9 @@ create_client(Window w, XWindowAttributes *wa) {
DefaultDepth(blz.dpy, blz.screen), CopyFromParent,
DefaultVisual(blz.dpy, blz.screen),
CWOverrideRedirect | CWBackPixmap | CWEventMask, &fwa);
- XGrabButton(blz.dpy, AnyButton, AnyModifier, c->framewin, False, ButtonMask,
+ XGrabButton(blz.dpy, Button1, AnyModifier, c->framewin, False, ButtonMask,
+ GrabModeSync, GrabModeSync, None, None);
+ XGrabButton(blz.dpy, Button3, AnyModifier, c->framewin, False, ButtonMask,
GrabModeSync, GrabModeSync, None, None);
c->gc = XCreateGC(blz.dpy, c->framewin, 0, 0);
XSync(blz.dpy, False);
diff --git a/event.c b/event.c
@@ -35,8 +35,10 @@ buttonrelease(XEvent *e) {
return;
}
}
- else if((f = frame_of_win(ev->window)))
+ else if((f = frame_of_win(ev->window))) {
write_event("ClientClick 0x%x %d\n", f->client->win, ev->button);
+ XAllowEvents(blz.dpy, ReplayPointer, ev->time);
+ }
}
static void
@@ -73,8 +75,7 @@ buttonpress(XEvent *e) {
}
XAllowEvents(blz.dpy, ReplayPointer, ev->time);
}
- }else
- XAllowEvents(blz.dpy, ReplayPointer, ev->time);
+ }
XSync(blz.dpy, False);
}