diff options
| author | Ivan Kanakarakis <ivan.kanak@gmail.com> | 2012-08-23 23:08:26 +0300 |
|---|---|---|
| committer | Ivan Kanakarakis <ivan.kanak@gmail.com> | 2012-08-23 23:10:02 +0300 |
| commit | cf4fb22ceb764d96326d9aae2b4f8c69254c2f53 (patch) | |
| tree | 793f34cd6ae7621c920e3636a0ea4c6b93f4db5f | |
| parent | 26f4929b8536bdc6f2fe61357b750df37e97e893 (diff) | |
do not fail on BadAccess because of an already grabbed button
| -rw-r--r-- | monsterwm.c | 14 |
1 files 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); } |
