Syoyo Fujita emailed the discussion list with a helpful patch to the renderman
procedural.
------------------
From Syoyo Fujita syoyofujita@gmail.com
I confirmed that I got same thing in our renderer(lucille).
The problem is here.
//-*****************************************************************************
void ParamListBuilder::add( const std::string & declaration, RtPointer value,
ArraySamplePtr sampleToRetain )
{
m_declarations.push_back( declaration );
m_outputDeclarations.push_back(
const_cast<char *>( m_declarations.back().c_str() ) );
...
I think this is too bad. A pointer stored in m_outputDeclararions will
point invalid address when the internal memory layout of
m_declarations changes(e.g. by push_back() operation)
This situation might be also happen in Linux or Mac(more specifically
to say, it depends on std::vector implementation).
....
http://code.google.com/p/alembic/issues/detail?id=241
I've confirmed that the patch is good.
Original issue reported on code.google.com by ble...@gmail.com on 28 Oct 2011 at 11:28
Original issue reported on code.google.com by
ble...@gmail.com
on 28 Oct 2011 at 11:28