diff options
Diffstat (limited to 'utils.c')
-rw-r--r-- | utils.c | 29 |
1 files changed, 29 insertions, 0 deletions
@@ -27,3 +27,32 @@ ocm_malloc (size_t n) return 0; } + +static int +ignore_errors (Display *dpy, XErrorEvent *event) +{ + return 0; +} + +void +ocm_begin_ignore_errors (ocm_app_t *app) +{ + app->error_nesting++; + if (app->error_handler) + return; + + XSync (app->display, FALSE); + + app->error_handler = XSetErrorHandler (ignore_errors); +} + +void +ocm_end_ignore_errors (ocm_app_t *app) +{ + if (--app->error_nesting == 0) + { + XSync (app->display, FALSE); + + XSetErrorHandler (app->error_handler); + } +} |