diff options
author | Wolfgang Draxinger <Wolfgang.Draxinger@draxit.de> | 2012-01-05 21:06:11 +0100 |
---|---|---|
committer | Wolfgang Draxinger <Wolfgang.Draxinger@draxit.de> | 2012-01-05 21:06:11 +0100 |
commit | eeb1931d2d214b28e4117ad17824ece40f865511 (patch) | |
tree | c08f856c9b64b732fce460445c247e6c74144fb1 | |
parent | 62462d2734a16c2b355216b98089f405f6a8163f (diff) | |
download | codesamples-eeb1931d2d214b28e4117ad17824ece40f865511.tar.gz codesamples-eeb1931d2d214b28e4117ad17824ece40f865511.tar.bz2 |
error handler added
-rw-r--r-- | samples/OpenGL/x11argb_opengl/x11argb_opengl.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/samples/OpenGL/x11argb_opengl/x11argb_opengl.c b/samples/OpenGL/x11argb_opengl/x11argb_opengl.c index 77565f0..8eaddf8 100644 --- a/samples/OpenGL/x11argb_opengl/x11argb_opengl.c +++ b/samples/OpenGL/x11argb_opengl/x11argb_opengl.c @@ -246,6 +246,12 @@ static void createTheWindow() } } +static int ctxErrorHandler( Display *dpy, XErrorEvent *ev ) +{ + fputs("Error at context creation", stderr); + return 0; +} + static void createTheRenderContext() { int dummy; @@ -269,7 +275,13 @@ static void createTheRenderContext() None }; + int (*oldHandler)(Display*, XErrorEvent*) = XSetErrorHandler(&ctxErrorHandler); + render_context = glXCreateContextAttribsARB( Xdisplay, fbconfig, 0, True, context_attribs ); + + XSync( Xdisplay, False ); + XSetErrorHandler( oldHandler ); + fputs("glXCreateContextAttribsARB failed", stderr); } else { fputs("glXCreateContextAttribsARB could not be retrieved", stderr); |