vtkOpenGLCellToVTKCellMap CellCellMap Invalid
In Rendering/OpenGL2/vtkOpenGLCellToVTKCellMap.cpp, if the MapBuildState is updated and the CellCellMap cleared, mappers will not hardware probe accurately. This may be as a result of some other part of the application calling BuildPrimitiveOffsetsIfNeeded
before calling Update
, without the source data being updated in between the two calls. Then the CellCellMap will not be built during the update call and remain empty despite CellMapSizes
indicating it should have content.
I have seen this for some time as a very transient bug, but am now seeing it happen very routinely in my application. I assume that it is also the cause for the changes in !7137 (merged), as those changes would be some of the defensive programming needed to error handle this situation. It can be avoided if the if statement in Update
on line 287 changes from if (this->MapBuildState != this->TempState)
to if (this->MapBuildState != this->TempState || this->CellCellMap.empty())
, though that doesn't seem to be the proper fix for this bug. Would you have a better idea for how this could be fixed?