From Laurens Voerman, "there seems to be a bug in the proxynode writer introduced in svn rev 10330. It craches on a null pointer for options (on my windows system).

Fixed version of the file "src\osgPlugins\osg\ProxyNode.cpp" attached, based on svn rev 10332."
This commit is contained in:
Robert Osfield
2009-06-12 09:57:45 +00:00
parent 01c6d4f448
commit 4845fe23ae

View File

@@ -164,15 +164,17 @@ bool ProxyNode_writeLocalData(const Object& obj, Output& fw)
bool includeExternalReferences = false;
bool useOriginalExternalReferences = true;
bool writeExternalReferenceFiles = false;
std::string optionsString = fw.getOptions()->getOptionString();
includeExternalReferences = optionsString.find("includeExternalReferences")!=std::string::npos;
bool newExternals = optionsString.find("writeExternalReferenceFiles")!=std::string::npos;
if (newExternals)
if (fw.getOptions())
{
useOriginalExternalReferences = false;
writeExternalReferenceFiles = true;
}
std::string optionsString = fw.getOptions()->getOptionString();
includeExternalReferences = optionsString.find("includeExternalReferences")!=std::string::npos;
bool newExternals = optionsString.find("writeExternalReferenceFiles")!=std::string::npos;
if (newExternals)
{
useOriginalExternalReferences = false;
writeExternalReferenceFiles = true;
}
}
const ProxyNode& proxyNode = static_cast<const ProxyNode&>(obj);
if (proxyNode.getCenterMode()==osg::ProxyNode::USER_DEFINED_CENTER) fw.indent() << "Center "<< proxyNode.getCenter() << std::endl;