Add a way to determine if the default error handler is installed or not
At the moment, when the "XSetErrorHandler" function is called, there is no way to tell if you are replacing Xlib's default error handler or the error handler for another library (e.g. GTK). I want to add a function to check for errors happening in Xlib without exiting. However it should also call the previous X11 error handler as to not step on the toes of GTK.
At this point I have to use a very hacky workaround involving ".init_array" to get the value of the default error hook, then compare that default error hook against the return value of "XSetErrorHandler" and only add that error hook to our data structure iff it's not the default hook.
It would be nice if either:
- The value of
_XDefaultError
was exposed in a public way. - There was another way to set error hook that indicated whether or not you were replacing a library-provided error hook.