diff --git a/src/osgViewer/GraphicsWindowX11.cpp b/src/osgViewer/GraphicsWindowX11.cpp index 3dc388809..6b91c7384 100644 --- a/src/osgViewer/GraphicsWindowX11.cpp +++ b/src/osgViewer/GraphicsWindowX11.cpp @@ -979,6 +979,31 @@ void GraphicsWindowX11::requestWarpPointer(float x,float y) int X11ErrorHandling(Display* display, XErrorEvent* event) { osg::notify(osg::NOTICE)<<"Got an X11ErrorHandling call display="<request_code << std::endl; + osg::notify(osg::NOTICE) << "Minor opcode: " << (int)event->minor_code << std::endl; + osg::notify(osg::NOTICE) << "Error code: " << (int)event->error_code << std::endl; + osg::notify(osg::NOTICE) << "Request serial: " << event->serial << std::endl; + osg::notify(osg::NOTICE) << "Current serial: " << NextRequest( display ) - 1 << std::endl; + + switch( event->error_code ) + { + case BadValue: + osg::notify(osg::NOTICE) << " Value: " << event->resourceid << std::endl; + break; + + case BadAtom: + osg::notify(osg::NOTICE) << " AtomID: " << event->resourceid << std::endl; + break; + + default: + osg::notify(osg::NOTICE) << " ResourceID: " << event->resourceid << std::endl; + break; + } return 0; }