diff --git a/src/osgViewer/GraphicsWindowX11.cpp b/src/osgViewer/GraphicsWindowX11.cpp index 6b91c7384..01a4e2a30 100644 --- a/src/osgViewer/GraphicsWindowX11.cpp +++ b/src/osgViewer/GraphicsWindowX11.cpp @@ -593,19 +593,25 @@ void GraphicsWindowX11::closeImplementation() XFlush( _display ); XSync( _display,0 ); - XCloseDisplay( _display ); } - + _window = 0; _parent = 0; _glxContext = 0; - if(_visualInfo) + if (_visualInfo) { XFree(_visualInfo); _visualInfo = 0; } + if (_display) + { + XCloseDisplay( _display ); + _display = 0; + } + + _initialized = false; _realized = false; _valid = false;