Made Refernced::setThreadSafeReferenceCounting(bool) a virtual then overrode

this in various scene graph classes to ensure that the scene graph gets
updated as well as the objects that the initialial call is made from.
This commit is contained in:
Robert Osfield
2007-01-04 16:49:58 +00:00
parent cce656a19b
commit 73fffe1800
19 changed files with 140 additions and 16 deletions

View File

@@ -1180,6 +1180,30 @@ bool StateSet::checkValidityOfAssociatedModes(osg::State& state) const
return modesValid;
}
void StateSet::setThreadSafeRefUnref(bool threadSafe)
{
Object::setThreadSafeRefUnref(threadSafe);
for(AttributeList::const_iterator itr = _attributeList.begin();
itr!=_attributeList.end();
++itr)
{
itr->second.first->setThreadSafeRefUnref(threadSafe);
}
for(TextureAttributeList::const_iterator taitr=_textureAttributeList.begin();
taitr!=_textureAttributeList.end();
++taitr)
{
for(AttributeList::const_iterator itr = taitr->begin();
itr!=taitr->end();
++itr)
{
itr->second.first->setThreadSafeRefUnref(threadSafe);
}
}
}
void StateSet::compileGLObjects(State& state) const
{
for(AttributeList::const_iterator itr = _attributeList.begin();