From d9d6b4f88fa9e3a0f1c7908aa6b237b2d77d298b Mon Sep 17 00:00:00 2001 From: okan Date: Thu, 30 Nov 2017 18:18:51 +0000 Subject: Revert r1.109 (Switch to XWindowEvent() pulling out events that match the mask *and* window.) of mousefunc.c. When a client destroys itself while we are moving or resizing it, XWindowEvent() blocks. Found the hard way by Anton Lazarov, and Lea°hNeukirchen found the right bit to revert - thanks! Reverting since the reason to switch from XMaskEvent was unclear. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kbfunc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'kbfunc.c') diff --git a/kbfunc.c b/kbfunc.c index ba3b155..e49c24f 100644 --- a/kbfunc.c +++ b/kbfunc.c @@ -168,7 +168,7 @@ kbfunc_client_move_mb(void *ctx, struct cargs *cargs) menu_windraw(sc, cc->win, "%4d, %-4d", cc->geom.x, cc->geom.y); while (move) { - XWindowEvent(X_Dpy, cc->win, MOUSEMASK, &ev); + XMaskEvent(X_Dpy, MOUSEMASK, &ev); switch (ev.type) { case MotionNotify: /* not more than 60 times / second */ @@ -256,7 +256,7 @@ kbfunc_client_resize_mb(void *ctx, struct cargs *cargs) menu_windraw(sc, cc->win, "%4d x %-4d", cc->dim.w, cc->dim.h); while (resize) { - XWindowEvent(X_Dpy, cc->win, MOUSEMASK, &ev); + XMaskEvent(X_Dpy, MOUSEMASK, &ev); switch (ev.type) { case MotionNotify: /* not more than 60 times / second */ -- cgit 1.4.1