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.
This commit is contained in:
okan 2017-11-30 18:18:51 +00:00
parent 7d7e256396
commit d9d6b4f88f

View File

@ -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 */