Hi All, I have just tagged the OpenSceneGraph-3.3.8 developer release. Focus for this dev release has been a whole series of bug and build fixes.
*source package :* OpenSceneGraph-3.3.8.zip <http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.3.8.zip> *svn tag:* svn co http://svn.openscenegraph.org/osg/OpenSceneGraph/tags/OpenSceneGraph-3.3.8 OpenSceneGraph Feature wise I'm pretty happy with where the dev series is at, so am now focused on readying OSG svn/trunk for the OSG-3.4 stable release, this dev release is another step in this process. Please test on as many platform combinations as you can and against your own applications. If there are problems with this dev release just post them here so we can can discuss how best to resolve them. If everything looks like a stable then I'll create the OSG-3.4 branch next week and start the OSG-3.4 release candidate series. Thanks to all who have contributed, Robert. -- ChangeLog since 3.3.7 2015-06-12 08:04 robert * src/osgText/TextBase.cpp: From Farshid Lashkari, "I've modified some setter methods of TextBase to avoid unnecessary calls to computeGlyphRepresentation() if the value has not changed." 2015-06-11 08:44 robert * include/osg/GLDefines: Reverted the typdef GLfloat GLdouble for Andoid as this was causing conflicts. 2015-06-10 18:22 robert * AUTHORS.txt, ChangeLog: Updated ChangeLog and AUTHORS file for 3.3.8 dev release 2015-06-10 16:48 robert * CMakeModules/FindOpenEXR.cmake: From Laurens Voerman, "attached is a zip with the files: OpenSceneGraph\CMakeModules\FindOpenEXR.cmake I introduced a bug in the previous submission pointed out by Dmitry Marakasov: looking for IlmIlf instead of IlmImf (as the previous version did - but using variable OPENEXR_IlmIlf_LIBRARY) For some reason google decided his message was spam, so I just noticed it, and I reply to confirm his remarks and attach a full file. " 2015-06-10 16:47 robert * src/osg/GLExtensions.cpp, src/osg/Texture.cpp: From Colin McDonald, "An earlier fix in OSG 3.2 has been inadvertently lost in 3.3.x. The glGenerateMipMap function is part of the GL_EXT_framebuffer_object extension. Just checking if the function is present before using it for texture mipmaps is not sufficient, as on remote X-windows displays the client side capability may be different from the display server. This can lead to mipmapped textures failing to render. I've restored a fbo extension check. I've also tided up the GL version checking a little." 2015-06-10 10:00 robert * src/osgGA/NodeTrackerManipulator.cpp: From Philippe Renon, "Fixed potential divide by zero in NodeTrackerManipulator : The divide by zero happens when throwing a NodeTrackerManipulator. The infinite result trickles down and later causes NaN in culling. The fix was to use getThrowScale() as done everywhere else." 2015-06-09 16:49 robert * CMakeLists.txt, include/osgDB/Serializer, src/osgWrappers/serializers/osg/Camera.cpp: Added supoort for osg::CullSettings/Camera::InheritanceMaskActionOnAttributeSetting and InheritanceMask properties. 2015-06-09 12:51 robert * include/osg/GLDefines: Added namespace around typedef to avoid conflict issues 2015-06-09 10:49 robert * include/osg/Node, include/osg/NodeVisitor, include/osg/Object, include/osg/StateAttribute, include/osg/Uniform, src/osg/Callback.cpp: Introduce osg::Object::asNode(), asNodeVisitor(), asStateAttribute() and asUniform() to replace dynamic_cast<> usage in Callback.cpp. 2015-06-09 09:44 robert * examples/osghud/osghud.cpp: Added output of HUD scene graph to hud.osgt and hud.osgb for testing purposes. 2015-06-08 11:33 robert * AUTHORS.txt, ChangeLog: Updated AUTHORS and ChangeLog for dev release 2015-06-08 11:18 robert * include/osgDB/Options, src/osgDB/DatabasePager.cpp, src/osgDB/Options.cpp: From Mike Connell, "Give ReadFileCallback access to parent location : These small changes to the database pager allow user code in the ReadFileCallback to safely determine where the file being loaded is destined to be inserted into the scenegraph. " 2015-06-08 10:20 robert * src/osgUtil/SceneView.cpp: Addressed race condition where SceneView::setLightingMode() was setting a shread Master Camera's StateSet. 2015-06-07 11:13 robert * src/osgViewer/CompositeViewer.cpp, src/osgViewer/Viewer.cpp: Fixed setReferenceTime() bug where a * eather than the correct / was being used. Bug and fix suggested Benjamin Richter. 2015-06-04 09:35 robert * AUTHORS.txt, ChangeLog, applications/osgversion/Contributors.cpp: Updated AUTHORS for dev release 2015-06-04 09:13 robert * src/osg/Transform.cpp: From Jannik Heller, Transform::computeBound() optimization. 2015-06-04 09:05 robert * include/osgViewer/ViewerEventHandlers: From Jannik Heller, Removed unused StatsHandler::_keyEventToggleVsync 2015-06-04 09:00 robert * include/osgAnimation/UpdateUniform: From Jannik Heller, "In the attachment you will find a build fix for the latest trunk. osgAnimation failed to compile when using OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION=OFF ." 2015-06-03 10:28 robert * include/osgAnimation/UpdateUniform: Removed export that was breaking windows build 2015-06-03 09:14 robert * include/osgAnimation/UpdateUniform, src/osgAnimation/CMakeLists.txt, src/osgWrappers/serializers/osgAnimation/LibraryWrapper.cpp, src/osgWrappers/serializers/osgAnimation/UpdateFloatUniform.cpp, src/osgWrappers/serializers/osgAnimation/UpdateMatrixfUniform.cpp, src/osgWrappers/serializers/osgAnimation/UpdateVec3fUniform.cpp: From KOS, "New classes for osgAnimation presented: UpdateFloatUniform, UpdateVec3fUniform and UpdateMatrixfUniform (based on UpdateUniform template) Classes operate like osgAnimation::UpdateMaterial for Material's diffuse component, but change Uniform." 2015-06-03 09:07 robert * examples/osggeometryshaders/osggeometryshaders.cpp, examples/osgparametric/osgparametric.cpp, examples/osgshaders/GL2Scene.cpp, examples/osgsimpleshaders/osgsimpleshaders.cpp, examples/osgtransformfeedback/osgtransformfeedback.cpp: From KOS, build fix for osg::Uniform::Callback to osg::UniformCallback change 2015-06-03 09:06 robert * include/osg/Uniform: Added doxygen comment for typedef 2015-06-03 08:38 robert * src/osgWrappers/serializers/osg/Uniform.cpp: Build fix for when Uniform::Callback isn't defined 2015-06-02 10:25 robert * src/osgWrappers/serializers/osg/UniformCallback.cpp: From Konstantin Matveyev, serializer support for UniformCallback 2015-06-02 09:33 robert * include/osg/Callback, include/osg/CopyOp, include/osg/Uniform, src/osg/Callback.cpp, src/osg/CopyOp.cpp, src/osg/StateSet.cpp, src/osg/Uniform.cpp, src/osgWrappers/deprecated-dotosg/osg/Uniform.cpp, src/osgWrappers/serializers/osg/LibraryWrapper.cpp: From Konstantin Matveyev, "I've changed osg::Uniform::Callback to osg::UniformCallback. osg::UniformCallback inherits osg::Callback now. I don't really now if this class should be inside osgWrappers/serializers because StateAttributeCallback is not presented there, but i've included it in the patch. Please see archive in the attachment. PS DEEP_COPY_UNIFORMS works for me. " Note from Robert Osfield, added typedef UniformCallback Callback for backwards compatibility. 2015-06-02 09:18 robert * examples/osguniformbuffer/osguniformbuffer.cpp: Changed name of UniformCallback to UniformBufferCallback to avoid conflict with changes to come to the osg::Uniform::Callback -> osg::UniformCallback. 2015-06-01 13:40 robert * include/OpenThreads/Thread, include/osg/BoundsChecking, include/osg/Geometry, include/osg/Image, include/osg/ImageUtils, include/osg/Object, include/osg/TransferFunction, include/osg/observer_ptr, include/osg/ref_ptr, include/osgDB/ClassInterface, include/osgDB/ExternalFileWriter, include/osgDB/ReaderWriter, include/osgGA/GUIActionAdapter, include/osgManipulator/Dragger, include/osgParticle/ConnectedParticleSystem, include/osgShadow/ViewDependentShadowTechnique, include/osgTerrain/TerrainTile, include/osgText/Glyph, include/osgUI/Widget, include/osgUtil/SceneGraphBuilder, include/osgWidget/Widget, src/OpenThreads/pthreads/PThreadBarrier.cpp, src/OpenThreads/pthreads/PThreadMutex.cpp, src/OpenThreads/win32/Win32Thread.cpp, src/osg/ImageUtils.cpp, src/osg/Sequence.cpp, src/osg/ShadowVolumeOccluder.cpp, src/osg/TexGen.cpp, src/osg/Texture1D.cpp, src/osg/Texture2D.cpp, src/osg/Texture2DArray.cpp, src/osg/Texture3D.cpp, src/osg/TextureCubeMap.cpp, src/osg/TextureRectangle.cpp, src/osg/Uniform.cpp, src/osgAnimation/RigGeometry.cpp, src/osgDB/DynamicLibrary.cpp, src/osgDB/FileNameUtils.cpp, src/osgDB/FileUtils.cpp, src/osgDB/Registry.cpp, src/osgDB/XmlParser.cpp, src/osgManipulator/Dragger.cpp, src/osgPlugins/3ds/ReaderWriter3DS.cpp, src/osgPlugins/Inventor/ConvertFromInventor.cpp, src/osgPlugins/Inventor/ConvertToInventor.cpp, src/osgPlugins/QTKit/OSXCoreVideoTexture.cpp, src/osgPlugins/ac/ac3d.cpp, src/osgPlugins/avfoundation/OSXAVFoundationCoreVideoTexture.cpp, src/osgPlugins/cfg/VisualChooser.cpp, src/osgPlugins/curl/ReaderWriterCURL.cpp, src/osgPlugins/dae/ReaderWriterDAE.cpp, src/osgPlugins/dae/daeRGeometry.cpp, src/osgPlugins/dae/daeRMaterials.cpp, src/osgPlugins/dae/daeReader.cpp, src/osgPlugins/dds/ReaderWriterDDS.cpp, src/osgPlugins/directshow/DirectShowTexture.cpp, src/osgPlugins/dxf/DXFWriterNodeVisitor.cpp, src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp, src/osgPlugins/gif/ReaderWriterGIF.cpp, src/osgPlugins/gles/ReaderWriterGLES.cpp, src/osgPlugins/ive/Material.cpp, src/osgPlugins/jpeg/EXIF_Orientation.cpp, src/osgPlugins/ktx/ReaderWriterKTX.cpp, src/osgPlugins/las/ReaderWriterLAS.cpp, src/osgPlugins/logo/ReaderWriterLOGO.cpp, src/osgPlugins/lwo/Object.cpp, src/osgPlugins/lwo/ReaderWriterLWO.cpp, src/osgPlugins/ply/plyfile.cpp, src/osgPlugins/ply/vertexData.cpp, src/osgPlugins/pov/POVWriterNodeVisitor.cpp, src/osgPlugins/quicktime/ReaderWriterQT.cpp, src/osgPlugins/tiff/ReaderWriterTIFF.cpp, src/osgPlugins/trans/ReaderWriterTRANS.cpp, src/osgPlugins/txf/TXFFont.cpp, src/osgPlugins/txp/TXPPagedLOD.cpp, src/osgPlugins/txp/TileMapper.cpp, src/osgPlugins/txp/trpage_geom.cpp, src/osgPlugins/txp/trpage_readbuf.cpp, src/osgPlugins/txp/trpage_warchive.cpp, src/osgPlugins/zip/unzip.cpp, src/osgPresentation/KeyEventHandler.cpp, src/osgPresentation/PickEventHandler.cpp, src/osgPresentation/SlideEventHandler.cpp, src/osgShadow/ConvexPolyhedron.cpp, src/osgShadow/MinimalShadowMap.cpp, src/osgShadow/ShadowMap.cpp, src/osgShadow/StandardShadowMap.cpp, src/osgShadow/ViewDependentShadowMap.cpp, src/osgSim/InsertImpostorsVisitor.cpp, src/osgSim/Sector.cpp, src/osgText/GlyphGeometry.cpp, src/osgText/TextBase.cpp, src/osgUtil/DelaunayTriangulator.cpp, src/osgUtil/Optimizer.cpp, src/osgUtil/RenderStage.cpp, src/osgUtil/Simplifier.cpp, src/osgViewer/CompositeViewer.cpp, src/osgViewer/GraphicsWindowWin32.cpp, src/osgViewer/GraphicsWindowX11.cpp, src/osgViewer/Viewer.cpp, src/osgWidget/Box.cpp, src/osgWidget/StyleManager.cpp, src/osgWidget/Window.cpp: From Albert Luaces, typo fixes. 2015-06-01 13:11 robert * CMakeModules/FindSDL2.cmake, applications/present3D/present3D.cpp, examples/osgcluster/osgcluster.cpp, examples/osgdepthpeeling/DePee.h, examples/osgmultitexturecontrol/osgmultitexturecontrol.cpp, examples/osgparticleeffects/osgparticleeffects.cpp, examples/osgscribe/osgscribe.cpp, examples/osgtexture2D/osgtexture2D.cpp, examples/osgunittests/UnitTestFramework.h, examples/osgvolume/osgvolume.cpp, include/osg/GraphicsContext, include/osg/StateAttribute, include/osg/Texture2DArray, include/osg/Texture3D, include/osg/TextureCubeMap, include/osg/Timer, include/osg/TransferFunction, include/osg/Uniform, include/osgAnimation/RigTransformSoftware, include/osgDB/DatabasePager, include/osgDB/ExternalFileWriter, include/osgDB/Registry, include/osgSim/ScalarBar, include/osgViewer/View, src/osg/BufferObject.cpp, src/osg/GraphicsContext.cpp, src/osg/Notify.cpp, src/osg/OperationThread.cpp, src/osg/Texture.cpp, src/osg/dxtctool.h, src/osgDB/FileUtils.cpp, src/osgDB/ImagePager.cpp, src/osgGA/StateSetManipulator.cpp, src/osgPlugins/3ds/ReaderWriter3DS.cpp, src/osgPlugins/ac/ac3d.cpp, src/osgPlugins/cfg/RenderSurface.h, src/osgPlugins/zip/unzip.cpp, src/osgPresentation/Timeout.cpp, src/osgUtil/CullVisitor.cpp, src/osgUtil/IntersectVisitor.cpp, src/osgUtil/RenderBin.cpp, src/osgUtil/SceneView.cpp: From Jannik Heller, typo fixes 2015-06-01 12:14 robert * src/osgParticle/ParticleProcessor.cpp: From Jannik Heller, "This patch adds a missing initialization of osgParticle::ParticleProcessor::_frameNumber in the copy constructor. I noticed this because valgrind was complaining about use of uninitialized memory." 2015-06-01 12:07 robert * include/osgDB/ObjectWrapper, src/osgDB/ObjectWrapper.cpp: From Frashud Lashkari, "I was getting "Unsupported wrapper class..." error messages when attempting to load osgb models simultaneously from multiple threads. I believe the problem is caused by un-synchronized access to the global osgDB::ObjectWrapperManager class. I've attached a change that adds a mutex to the class and uses it when accessing the internal wrapper/compress maps. This appears to fix the issues I was having." 2015-06-01 10:50 robert * include/osg/Texture, include/osg/Texture2D, src/osg/Texture.cpp, src/osg/Texture1D.cpp, src/osg/Texture2D.cpp, src/osg/Texture2DArray.cpp, src/osg/Texture2DMultisample.cpp, src/osg/Texture3D.cpp, src/osg/TextureBuffer.cpp, src/osg/TextureCubeMap.cpp, src/osg/TextureRectangle.cpp, src/osgText/Glyph.cpp: From Jannik Heller, "I have added new functions Texture::generateAndAssignTextureObject mirroring the Texture::generateTextureObject functions. I have left the Texture::generateTextureObject functions intact as I'm not sure if/how it's used outside the core OSG. If you feel that compatibility isn't important in that area feel free to drop it. While testing the build with OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION=OFF I found a compile error in GlyphGeometry.cpp that was entirely unrelated to the changes I've made. The fix is included in the patch. There is one thing left to fix and that is Texture2D::SubloadCallback: class OSG_EXPORT SubloadCallback : public Referenced { public: .... virtual TextureObject* generateTextureObject(const Texture2D& texture, State& state) const { return osg::Texture::generateTextureObject(&texture, state.getContextID(), GL_TEXTURE_2D); } ... }" 2015-06-01 10:41 robert * src/osgText/GlyphGeometry.cpp: From Jannik Heller, build fix 2015-05-29 07:52 robert * include/osg/BufferObject, src/osg/BufferObject.cpp: From Jannik Heller, fix for race condition in orphanded BufferObject handling. 2015-05-26 17:24 robert * src/osgUtil/MeshOptimizers.cpp: From Colin McDonald, "rc/osgUtl/MeshOptimizers.cpp won't compile on some systems due to a missing std:: namespace prefix." 2015-05-26 17:22 robert * src/osgUtil/SceneView.cpp: From Farshid Lashkari, "attached a small change to osgUtil::SceneView that prevents unnecessary calls to glClear when the split stereo separation is 0." 2015-05-26 17:17 robert * src/osgDB/ClassInterface.cpp: From Thomas Hogarth, "Little fix for ClassInterface::getSupportedProperties, before if you set searchAssociates to false then it would return the same BaseSerialiser::Type for every entry in the PropertyMap as i was not being incremented on line 539. Fix attached." 2015-05-26 17:12 robert * src/osgUtil/RenderStage.cpp: From We See, "I found a small bug in osgUtil::RenderStage::draw() (osg 3.3.7), which crashes osg. The problem was caused by an access to the object _camera without checking whether the object is valid. So I changed the line: Code: if (_cameraRequiresSetUp || (_cameraAttachmentMapModifiedCount!=_camera->getAttachmentMapModifiedCount())) to Code: if (_cameraRequiresSetUp || (_camera.valid() && _cameraAttachmentMapModifiedCount!=_camera->getAttachmentMapModifiedCount())) " 2015-05-26 17:09 robert * src/osgUtil/CullVisitor.cpp: From Farshid Lashkari and Robert Osfield, "a small change to the CullVisitor class, which will use cloneType() on the root render stage when creating children render stages. This allows us to pass a custom RenderStage object to the SceneView and have it used for all sub-stages." 2015-05-26 10:05 robert * examples/osgtext3D/TextNode.cpp, examples/osgtext3D/osgtext3D.cpp, include/osgText/Style, src/osgText/Glyph.cpp, src/osgText/GlyphGeometry.cpp, src/osgText/GlyphGeometry.h, src/osgText/Style.cpp: Rewrote the Text3D bevel implementation to automatically adjust bevel thickness to avoid overalapping and erronous tesselation. Added osgText::Bevel::s/getRoundedConcaveJunctions(bool) to control how the bevel should be tessellated around concave junctions on the glyph boundary. 2015-05-26 08:48 robert * src/osgViewer/CompositeViewer.cpp, src/osgViewer/Viewer.cpp: Added use of ref_ptr<> 2015-05-25 12:39 robert * src/osgViewer/CompositeViewer.cpp, src/osgViewer/Viewer.cpp: Changed the EventQueue::frame() event generation to use the generatePointerData/reprojectPointerData() methods in the same way that other events are handled. 2015-05-25 11:33 robert * include/osgGA/EventQueue, src/osgGA/EventQueue.cpp: Added osgGA::GUIEventAdapter* returns from various EventQueue event generation methods. 2015-05-21 14:11 robert * src/osgText/Text3D.cpp: Fixed memory error associated with reading over the end of container due to an unbounded while loop. 2015-05-06 18:39 robert * AUTHORS.txt, ChangeLog, applications/osgversion/Contributors.cpp: Update ChangeLog and AUTHORS file 2015-05-05 11:05 robert * CMakeLists.txt: Changed the CMP0020 check to > 2.8.10 Updated SO version number 2015-04-30 14:04 robert * include/osg/GLDefines: From Christian Kehl, changes for making osgAndroid working with GLES1 enabled 2015-04-30 13:59 robert * src/osgViewer/GraphicsWindowWin32.cpp: From Dmitriy Ogalcev, fix for crash when calling setCursor from a non GUI thread 2015-04-28 16:12 robert * include/osgShadow/MinimalShadowMap, src/osgShadow/MinimalShadowMap.cpp: Replaced attempt at passing NULL Matrix with two specialized methods. 2015-04-27 19:31 robert * include/osg/LineSegment, src/osg/LineSegment.cpp: Renamed LineSegment::intersect(BoundingSphere/Box, double/float&, double/float&) methods to LineSegment::intersectAndComputeRations(..) to avoid confusion with the change in convention for the old intersect(BoundingBox&, float/double&, float/double&) method as it was inconsitent with the rest of the OSG including the intersect(BoundingSphere) method in how the ratio for the second intersection was measure from - original from the end point, but now made consistent with other places in the OSG so be based on ration from start to end of segment. 2015-04-23 14:44 robert * src/osgText/GlyphGeometry.cpp: Refactoring GlyphGeometry Boundary class to facilate better bevel overlap detection 2015-04-23 12:58 robert * examples/osgtext/osgtext.cpp: Comment out debug notification 2015-04-23 09:49 robert * src/osgText/GlyphGeometry.cpp: Removed unused method 2015-04-22 14:25 robert * src/osgPlugins/3ds/ReaderWriter3DS.cpp: From Giampaolo Vigano, "please find attached a further fix for 3ds plugin: now reflection map works also with transparent objects (I also removed a redundant setting of BlendFunc)." 2015-04-21 17:29 robert * src/osgPlugins/3ds/ReaderWriter3DS.cpp, src/osgPlugins/3ds/lib3ds/lib3ds_util.c: From Chris Denham, "I found a couple of memory leaks in 3DS reader plugin and I have attached corrected files. I have attached an example 3DS file I used to test the leaks/fixes using osgviewer for trunk at rev [14853] and the tagged version 3.2.1. The first leak is in the lib3ds module (yeah, I know that probably should be corrected at http://code.google.com/p/lib3ds/ but I'm assuming that as no commits have happened there since 2011 that it may be better to fix the copy we have in the OSG of that project) The leak is caused by lib3d's use of realloc(ptr, 0) to free up memory allocations, but realloc, when ptr==NULL returns malloc(0) rather than NULL and thus leaks a zero byte allocation. The solution here was to adjust the 'lib3ds_util_reserve_array' function so that it realloc is not used to release a NULL pointer. The second leak is in ReaderWriter3DS.cpp and arises when any of the created StateSet objects added to the StateSetMap don't subsequently get applied to a Node. The solution here was just to simply use the osg::ref_ptr around the raw StateSet pointer that was used in the locally defined StateSetInfo struct." 2015-04-20 10:41 robert * AUTHORS.txt, ChangeLog, applications/osgversion/Contributors.cpp: Updated AUTHORS 2015-04-20 10:36 robert * examples/osgmanipulator/osgmanipulator.cpp: Build fix 2015-04-20 10:19 robert * src/osgPlugins/3ds/ReaderWriter3DS.cpp: Build fix 2015-04-20 09:39 robert * src/osg/State.cpp: Moved uniform substitution to infront of vertex attribute substituion to make sure gl_Vertex usage is replaced when required. 2015-04-20 09:08 robert * include/osgUtil/MeshOptimizers: From Tim Moore, "The order_by_primitive_mode comparer was not providing a strict weak ordering, which was causing a crash in the sort() call in VertexAccessOrderVisitor::optimizeOrder (gcc 4.9, Fedora 21)." 2015-04-17 14:36 robert * CMakeLists.txt: Updated dev release number 2015-04-17 13:33 robert * include/osgManipulator/AntiSquish: Added implementations for the libraryName and className for the AntiSquish node. 2015-04-17 13:24 robert * src/osg/Node.cpp: Fixed CollectParentPaths visitor so that it sets the setNodeMaskOverride(0xffffffff) to make sure all parents are traversed to find parents, even ones that have their NodeMask set to 0x0. 2015-04-17 13:22 robert * examples/osgmanipulator/osgmanipulator.cpp: Added --test-NodeMask option to test crash when a parent of osgmanipulator::AntiSquish node has a NodeMask set to 0x0. 2015-04-16 11:19 robert * src/osgPlugins/osgjs/json_stream: Changed MSVC version test to <= to enable fallback for VS2010. 2015-04-16 10:07 robert * src/osgManipulator/AntiSquish.cpp: Fixed crash when AntiSquish node is the root of the scene graph.
_______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org