From Tim Moore,
Fixes to race in DatabasePager where a parent PagedLOD of newly loaded subgraph has been expired. Clean up of visitor naming to make it clearer what role it has.
This commit is contained in:
@@ -271,7 +271,7 @@ class OSGDB_EXPORT DatabasePager : public osg::NodeVisitor::DatabaseRequestHandl
|
||||
typedef std::set< osg::ref_ptr<osg::StateSet> > StateSetList;
|
||||
typedef std::vector< osg::ref_ptr<osg::Drawable> > DrawableList;
|
||||
|
||||
class CountPagedLODsVisitor;
|
||||
class ExpirePagedLODsVisitor;
|
||||
|
||||
typedef std::list< osg::ref_ptr<osg::Object> > ObjectList;
|
||||
|
||||
@@ -307,7 +307,8 @@ class OSGDB_EXPORT DatabasePager : public osg::NodeVisitor::DatabaseRequestHandl
|
||||
_frameNumberLastRequest(0),
|
||||
_timestampLastRequest(0.0),
|
||||
_priorityLastRequest(0.0f),
|
||||
_numOfRequests(0)
|
||||
_numOfRequests(0),
|
||||
_groupExpired(false)
|
||||
{}
|
||||
|
||||
void invalidate();
|
||||
@@ -331,6 +332,7 @@ class OSGDB_EXPORT DatabasePager : public osg::NodeVisitor::DatabaseRequestHandl
|
||||
osg::ref_ptr<Options> _loadOptions;
|
||||
|
||||
osg::observer_ptr<osgUtil::IncrementalCompileOperation::CompileSet> _compileSet;
|
||||
bool _groupExpired; // flag used only in update thread
|
||||
|
||||
bool isRequestCurrent (int frameNumber) const
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user