summaryrefslogtreecommitdiff
path: root/src/rmd_error.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/rmd_error.c')
-rw-r--r--src/rmd_error.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/rmd_error.c b/src/rmd_error.c
index aaef20a..f8c137e 100644
--- a/src/rmd_error.c
+++ b/src/rmd_error.c
@@ -35,7 +35,7 @@
-int rmdErrorHandler(Display *dpy, XErrorEvent *e)
+static int rmdSharedErrorHandler(Display *dpy, XErrorEvent *e, boolean grabsfatal)
{
char error_desc[1024];
@@ -49,8 +49,19 @@ int rmdErrorHandler(Display *dpy, XErrorEvent *e)
if ((e->error_code == BadAccess) && (e->request_code == X_GrabKey)) {
fprintf(stderr, "Bad Access on XGrabKey.\n" "Shortcut already assigned.\n");
- return 0;
+ if (!grabsfatal)
+ return 0;
}
exit(1);
}
+
+int rmdErrorHandler(Display *dpy, XErrorEvent *e)
+{
+ return rmdSharedErrorHandler(dpy, e, FALSE /* grabsfatal */);
+}
+
+int rmdGrabErrorsFatalErrorHandler(Display *dpy, XErrorEvent *e)
+{
+ return rmdSharedErrorHandler(dpy, e, TRUE /* grabsfatal */);
+}
© All Rights Reserved