OpenSceneGraph/include
Robert Osfield caceb94db8 From Miha Ravsel, "While trying to create my custom serializer class, i created some dummy data which accidentally popped-up bug in InputStream readObjectFields function.
Bug description:
 Let's say we have class A
namespace Bug
{
class A : public osg::Object
{
public:
  //...
  typedef std::vector<osg::ref_ptr<A> > AList;

protected:
  AList _alist;
  //...
}
}

REGISTER_OBJECT_WRAPPER( A,
                        new Bug::A,
                        Bug::A,
                        "osg::Object Bug::A" )
{
       ADD_LIST_SERIALIZER(A,Bug::A::AList);
}


Bug:
We create say 3 instances of class A: A1,A2,A3 and then we add A2 and A3 and A1 as child instances of A1 so we get next structure:
A1
 |- A2,A3,A1

we call osgDB::writeObjectFile(A1,"/data/a.osgt") -> saved correctly( third element in list is saved as unique id that references parentClass

now we call
A1 = osgDB::readObjectFile("/data/a.osgt");

Everything is deserialized correctely except last element in list which should be same instance as parent A1.

The attached code resolves this issue by passing UniqueID in readObjectFields method and saving object in _identifierMap as soon as we have valid object instance so we can make reference to parent object from any child instance.
"
2012-02-22 10:46:35 +00:00
..
OpenThreads Updated version number 2011-06-17 11:47:47 +00:00
osg From Johannes Baeurele, "The osg::Image class now contains a 'supportsTextureSubloading()' method that is used inside the Texture2D::apply method. For now it only checks for the etc1 format in which case it returns 'false'. All other formats lead to a return value of 'true'. 2012-02-20 12:03:14 +00:00
osgAnimation Fix crash in osgAnimation when keyframe container are empty 2011-07-15 10:22:44 +00:00
osgDB From Miha Ravsel, "While trying to create my custom serializer class, i created some dummy data which accidentally popped-up bug in InputStream readObjectFields function. 2012-02-22 10:46:35 +00:00
osgFX From Magnus Kessler, "After a closer look at this particular issue, I used some grep and sed magic 2010-09-30 16:57:02 +00:00
osgGA From Stephan Huber, "attached you'll find a first version of multi-touch-support for OS X (>= 2012-02-03 14:25:08 +00:00
osgManipulator Added DraggerTransformCallback::HandleCommandMask to DraggerTransformCallback to allow applications to select which 2012-02-01 13:55:38 +00:00
osgParticle Fixed Coverity reported issues. 2011-05-06 10:30:23 +00:00
osgPresentation Refactored the click_to_run implementation to avoid bug associated with running the first click_to_run entry in a layer when 2012-01-24 14:27:17 +00:00
osgQt From Marius Kintel, "GraphicsWindowQt::WindowData no longer requires the parent widget of a graphics window to be of type GLWidget." 2012-02-07 11:41:20 +00:00
osgShadow Added prelimanary support for parallel split shadow maps into ViewDependentShadowMap. 2011-11-22 21:55:30 +00:00
osgSim Added doxygen comments explaining read file callback functionality. 2011-07-18 12:41:22 +00:00
osgTerrain Gunnar Holm, "After upgrading from 2.8.3 to 3.0.1 we experienced a lock in the Mutex 2011-12-23 17:34:07 +00:00
osgText Added Font::getVertical(float& ascender, float& descender) methods. 2011-10-03 10:36:18 +00:00
osgUtil From Luc Frauciel, "osgUtil Tessellator : beginTessellation() made virtual to allow configuration of tessellation: 2012-02-09 18:10:52 +00:00
osgViewer From Mathias Froehlich, "Attached is a change to the stats handler so that the aspect ratio of the 2012-02-06 13:40:01 +00:00
osgVolume Moved constructor implementation into .cpp 2011-05-06 12:30:21 +00:00
osgWidget Fixed Coverity reported issues. 2011-05-06 10:29:47 +00:00