From cf4fb22ceb764d96326d9aae2b4f8c69254c2f53 Mon Sep 17 00:00:00 2001 From: Ivan Kanakarakis Date: Thu, 23 Aug 2012 23:08:26 +0300 Subject: do not fail on BadAccess because of an already grabbed button --- monsterwm.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/monsterwm.c b/monsterwm.c index 21b0cc6..8e99fc4 100644 --- a/monsterwm.c +++ b/monsterwm.c @@ -1111,12 +1111,14 @@ Bool wintoclient(Window w, Client **c, Desktop **d) { * thus those cases are ignored (especially on UnmapNotify's). */ int xerror(__attribute__((unused)) Display *dis, XErrorEvent *ee) { - if (ee->error_code == BadWindow || (ee->error_code == BadAccess && ee->request_code == X_GrabKey) - || (ee->error_code == BadMatch && (ee->request_code == X_SetInputFocus - || ee->request_code == X_ConfigureWindow)) - || (ee->error_code == BadDrawable && (ee->request_code == X_PolyFillRectangle - || ee->request_code == X_CopyArea || ee->request_code == X_PolySegment - || ee->request_code == X_PolyText8))) return 0; + if ((ee->error_code == BadAccess && (ee->request_code == X_GrabKey + || ee->request_code == X_GrabButton)) + || (ee->error_code == BadMatch && (ee->request_code == X_SetInputFocus + || ee->request_code == X_ConfigureWindow)) + || (ee->error_code == BadDrawable && (ee->request_code == X_PolyFillRectangle + || ee->request_code == X_CopyArea || ee->request_code == X_PolySegment + || ee->request_code == X_PolyText8)) + || ee->error_code == BadWindow) return 0; err(EXIT_FAILURE, "xerror: request: %d code: %d", ee->request_code, ee->error_code); } -- cgit v1.3.1