all repos — ryudo @ 0e0de29de9018a7db94ba2538c06c3d1f1ad3eb3

the floatiling window manager that flows; fork of rio from plan9port

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-----
commit

0e0de29de9018a7db94ba2538c06c3d1f1ad3eb3

parent

c4a0ea2970e8887ea7f5c47427a84e4dd6d49089

1 files changed, 10 insertions(+), 7 deletions(-)

jump to
M grab.cgrab.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) {