grab.c: don't grab server on sweeps -- fingers crossed!
Iris Lightshard nilix@nilfm.cc
PGP Signature
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEkFh6dA+k/6CXFXU4O3+8IhROY5gFAmBIV68ACgkQO3+8IhRO Y5ichg/8Ds9q/KyjroVm7EvoU71/pcVGsI8LsvWmJix1YiMuiCWTSHWwtp8ab32t sbv37vY4MRjvSUhTLoT7js8kFdozJDBxnENa8N/E1A9ceL8k1zveXpgcKzUg2m2H Yq5eEpAITEe9CrGhH2SoZvhk3xvzxPtEFWixcCyge0zjA8kIbMCwKFIaRiRU7dRp U+2ys5zt34dhtGEa6mY3/YVOR0Jg+VEDcgMyvxgSnjXBRO+dxSeEn0Ys2q51fwZh ungV0ofQ7Jd5OM8xYScsYkRyN8kso0oOCNAFBxbXiUrZvRtGVVVFjsX6U4B3/4yG aWQxB1+XLBwbf7mEiYUyObSN/xSF1JSv9XjncBAClsqbXnBVwZkj8+82VX7IhXry TYL5rEzxHj2PHYSlbVnV9yJb6kkpk20Tzk3YHI+VRKdI42dpkeU2qucbnX9f4LYh qfvntLe9DpHeZwropInOAyhmnmE1YdpYcD1EuFEwEQEImqZ61tzHhqytyqJqvRrG ocCiNmSFdrCSS9+SrBl/nm5ztSIkE+8sx9oASPKGIXDxW0GscRfT26wNC7py+H7u 7L73J5zJuXaU+tbIg/tCCS+FFt+4bPixch/w0urmUq1eM5Fe1qeqjNW9SoAyO1Zk 0umcFt48xfmImsiZAOqQl3NvdqwO4pS13QxqSOq0rO6OcfbqcT8= =ZJg1 -----END PGP SIGNATURE-----
1 files changed,
10 insertions(+),
7 deletions(-)
jump to
M
grab.c
→
grab.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 1994-1996 David Hogan, see README for licence details */ +./* Copyright (c) 1994-1996 David Hogan, see README for licence details */ #include <stdio.h> #include <X11/X.h> #include <X11/Xos.h>@@ -555,6 +555,9 @@ t.tv_usec = (msec % 1000) * 1000;
select(0, 0, 0, 0, &t); } +/* Not grabbing the server during sweep ops might make Xorg unstable. + -drkste */ + int sweepdrag( Client* c, int but, XButtonEvent* e0, BorderOrient bl, int (*recalc)(Client*, int, int, BorderOrient, int)) {@@ -578,7 +581,7 @@ if (bl != BorderUnknown || e0 == 0)
getmouse(&cx, &cy, c->screen); else getmouse(&c->x, &c->y, c->screen); - XGrabServer(dpy); + //XGrabServer(dpy); if (bl != BorderUnknown) { notmoved = recalc(c, cx, cy, bl, notmoved); }@@ -588,12 +591,12 @@ for (;;) {
if (XCheckMaskEvent(dpy, ButtonMask, &ev) == 0) { getmouse(&rx, &ry, c->screen); if (rx != cx || ry != cy || ++idle > 300) { - drawbound(c, 0); + drawbound(c, 1); if (rx == cx && ry == cy) { - XUngrabServer(dpy); + //XUngrabServer(dpy); XFlush(dpy); - misleep(500); - XGrabServer(dpy); + //misleep(500); + //XGrabServer(dpy); idle = 0; } if (e0 || bl != BorderUnknown)@@ -614,7 +617,7 @@ case ButtonPress:
case ButtonRelease: drawbound(c, 0); ungrab(e); - XUngrabServer(dpy); + //XUngrabServer(dpy); if (e->button != but && c->init) goto bad; if (c->dx < 0) {