Attempt to fix a potential name conflict between Freestyle and the compositor.
authorTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>
Tue, 9 Apr 2013 00:46:49 +0000 (00:46 +0000)
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>
Tue, 9 Apr 2013 00:46:49 +0000 (00:46 +0000)
commit800f86c8454ced85c29d1dcb04dcb163689a89d3
tree4598a2ea78a1d1cf6a4c0a9e7030de4c826a006d
parente6bd510dde6289efcead80e3d21cb21876282a56
Attempt to fix a potential name conflict between Freestyle and the compositor.

A crash in the Freestyle renderer was reported by Ton on IRC with a stack trace
below.  Note that #2 is in Freestyle, whereas #1 is in the compositor.  The problem
was observed in a debug build on OS X 10.7 (gcc 4.2, openmp disabled, no llvm).

----------------------------------------------------------------------
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: 13 at address: 0x0000000000000000
[Switching to process 72386 thread 0xf303]
0x0000000100c129f3 in NodeBase::~NodeBase (this=0x10e501c80) at COM_NodeBase.cpp:43
43 delete (this->m_outputsockets.back());
Current language:  auto; currently c++
(gdb) where
#0  0x0000000100c129f3 in NodeBase::~NodeBase (this=0x10e501c80) at COM_NodeBase.cpp:43
#1  0x0000000100c29066 in Node::~Node (this=0x10e501c80) at COM_Node.h:49
#2  0x000000010089c273 in NodeShape::~NodeShape (this=0x10e501c80) at NodeShape.cpp:43
#3  0x000000010089910b in NodeGroup::destroy (this=0x10e501da0) at NodeGroup.cpp:61
#4  0x00000001008990cd in NodeGroup::destroy (this=0x10e5014b0) at NodeGroup.cpp:59
#5  0x00000001008990cd in NodeGroup::destroy (this=0x114e18da0) at NodeGroup.cpp:59
#6  0x00000001007e6602 in Controller::ClearRootNode (this=0x114e19640) at Controller.cpp:329
#7  0x00000001007ea52e in Controller::LoadMesh (this=0x114e19640, re=0x10aba4638, srl=0x1140f5258) at Controller.cpp:302
#8  0x00000001008030ad in prepare (re=0x10aba4638, srl=0x1140f5258) at FRS_freestyle.cpp:302
#9  0x000000010080457a in FRS_do_stroke_rendering (re=0x10aba4638, srl=0x1140f5258) at FRS_freestyle.cpp:600
#10 0x00000001006aeb9d in add_freestyle (re=0x10aba4638) at pipeline.c:1584
#11 0x00000001006aceb7 in do_render_3d (re=0x10aba4638) at pipeline.c:1094
#12 0x00000001006ae061 in do_render_fields_blur_3d (re=0x10aba4638) at pipeline.c:1367
#13 0x00000001006afa16 in do_render_composite_fields_blur_3d (re=0x10aba4638) at pipeline.c:1815
#14 0x00000001006b04e4 in do_render_all_options (re=0x10aba4638) at pipeline.c:2021
----------------------------------------------------------------------

Apparently a name conflict between the two Blender modules is taking place.
The present commit hence intends to address it by putting all the Freestyle C++
classes in the namespace 'Freestyle'.  This revision will also prevent potential
name conflicts with other Blender modules in the future.

Special thanks to Lukas Toenne for the help with C++ namespace.
233 files changed:
source/blender/freestyle/intern/application/AppCanvas.cpp
source/blender/freestyle/intern/application/AppCanvas.h
source/blender/freestyle/intern/application/AppConfig.cpp
source/blender/freestyle/intern/application/AppConfig.h
source/blender/freestyle/intern/application/AppView.cpp
source/blender/freestyle/intern/application/AppView.h
source/blender/freestyle/intern/application/Controller.cpp
source/blender/freestyle/intern/application/Controller.h
source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp
source/blender/freestyle/intern/blender_interface/BlenderFileLoader.h
source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.h
source/blender/freestyle/intern/blender_interface/BlenderStyleModule.h
source/blender/freestyle/intern/blender_interface/BlenderTextureManager.cpp
source/blender/freestyle/intern/blender_interface/BlenderTextureManager.h
source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
source/blender/freestyle/intern/geometry/BBox.h
source/blender/freestyle/intern/geometry/Bezier.cpp
source/blender/freestyle/intern/geometry/Bezier.h
source/blender/freestyle/intern/geometry/FastGrid.cpp
source/blender/freestyle/intern/geometry/FastGrid.h
source/blender/freestyle/intern/geometry/FitCurve.cpp
source/blender/freestyle/intern/geometry/FitCurve.h
source/blender/freestyle/intern/geometry/Geom.h
source/blender/freestyle/intern/geometry/GeomCleaner.cpp
source/blender/freestyle/intern/geometry/GeomCleaner.h
source/blender/freestyle/intern/geometry/GeomUtils.cpp
source/blender/freestyle/intern/geometry/GeomUtils.h
source/blender/freestyle/intern/geometry/Grid.cpp
source/blender/freestyle/intern/geometry/Grid.h
source/blender/freestyle/intern/geometry/GridHelpers.cpp
source/blender/freestyle/intern/geometry/GridHelpers.h
source/blender/freestyle/intern/geometry/HashGrid.cpp
source/blender/freestyle/intern/geometry/HashGrid.h
source/blender/freestyle/intern/geometry/Noise.cpp
source/blender/freestyle/intern/geometry/Noise.h
source/blender/freestyle/intern/geometry/Polygon.h
source/blender/freestyle/intern/geometry/SweepLine.h
source/blender/freestyle/intern/geometry/VecMat.h
source/blender/freestyle/intern/geometry/matrix_util.cpp
source/blender/freestyle/intern/geometry/matrix_util.h
source/blender/freestyle/intern/geometry/normal_cycle.cpp
source/blender/freestyle/intern/geometry/normal_cycle.h
source/blender/freestyle/intern/image/GaussianFilter.cpp
source/blender/freestyle/intern/image/GaussianFilter.h
source/blender/freestyle/intern/image/Image.h
source/blender/freestyle/intern/image/ImagePyramid.cpp
source/blender/freestyle/intern/image/ImagePyramid.h
source/blender/freestyle/intern/python/BPy_BBox.h
source/blender/freestyle/intern/python/BPy_BinaryPredicate0D.h
source/blender/freestyle/intern/python/BPy_BinaryPredicate1D.h
source/blender/freestyle/intern/python/BPy_ContextFunctions.cpp
source/blender/freestyle/intern/python/BPy_Convert.h
source/blender/freestyle/intern/python/BPy_FrsMaterial.h
source/blender/freestyle/intern/python/BPy_FrsNoise.h
source/blender/freestyle/intern/python/BPy_Id.h
source/blender/freestyle/intern/python/BPy_IntegrationType.h
source/blender/freestyle/intern/python/BPy_Interface0D.h
source/blender/freestyle/intern/python/BPy_Interface1D.h
source/blender/freestyle/intern/python/BPy_Iterator.h
source/blender/freestyle/intern/python/BPy_MediumType.h
source/blender/freestyle/intern/python/BPy_Nature.h
source/blender/freestyle/intern/python/BPy_Operators.h
source/blender/freestyle/intern/python/BPy_SShape.h
source/blender/freestyle/intern/python/BPy_StrokeAttribute.h
source/blender/freestyle/intern/python/BPy_StrokeShader.h
source/blender/freestyle/intern/python/BPy_UnaryFunction0D.h
source/blender/freestyle/intern/python/BPy_UnaryFunction1D.h
source/blender/freestyle/intern/python/BPy_UnaryPredicate0D.h
source/blender/freestyle/intern/python/BPy_UnaryPredicate1D.h
source/blender/freestyle/intern/python/BPy_ViewMap.h
source/blender/freestyle/intern/python/BPy_ViewShape.h
source/blender/freestyle/intern/python/Director.h
source/blender/freestyle/intern/scene_graph/DrawingStyle.h
source/blender/freestyle/intern/scene_graph/FrsMaterial.h
source/blender/freestyle/intern/scene_graph/IndexedFaceSet.cpp
source/blender/freestyle/intern/scene_graph/IndexedFaceSet.h
source/blender/freestyle/intern/scene_graph/LineRep.cpp
source/blender/freestyle/intern/scene_graph/LineRep.h
source/blender/freestyle/intern/scene_graph/Node.h
source/blender/freestyle/intern/scene_graph/NodeCamera.cpp
source/blender/freestyle/intern/scene_graph/NodeCamera.h
source/blender/freestyle/intern/scene_graph/NodeDrawingStyle.cpp
source/blender/freestyle/intern/scene_graph/NodeDrawingStyle.h
source/blender/freestyle/intern/scene_graph/NodeGroup.cpp
source/blender/freestyle/intern/scene_graph/NodeGroup.h
source/blender/freestyle/intern/scene_graph/NodeLight.cpp
source/blender/freestyle/intern/scene_graph/NodeLight.h
source/blender/freestyle/intern/scene_graph/NodeShape.cpp
source/blender/freestyle/intern/scene_graph/NodeShape.h
source/blender/freestyle/intern/scene_graph/NodeTransform.cpp
source/blender/freestyle/intern/scene_graph/NodeTransform.h
source/blender/freestyle/intern/scene_graph/OrientedLineRep.cpp
source/blender/freestyle/intern/scene_graph/OrientedLineRep.h
source/blender/freestyle/intern/scene_graph/Rep.h
source/blender/freestyle/intern/scene_graph/ScenePrettyPrinter.cpp
source/blender/freestyle/intern/scene_graph/ScenePrettyPrinter.h
source/blender/freestyle/intern/scene_graph/SceneVisitor.h
source/blender/freestyle/intern/scene_graph/TriangleRep.cpp
source/blender/freestyle/intern/scene_graph/TriangleRep.h
source/blender/freestyle/intern/scene_graph/VertexRep.cpp
source/blender/freestyle/intern/scene_graph/VertexRep.h
source/blender/freestyle/intern/stroke/AdvancedFunctions0D.cpp
source/blender/freestyle/intern/stroke/AdvancedFunctions0D.h
source/blender/freestyle/intern/stroke/AdvancedFunctions1D.cpp
source/blender/freestyle/intern/stroke/AdvancedFunctions1D.h
source/blender/freestyle/intern/stroke/AdvancedPredicates1D.h
source/blender/freestyle/intern/stroke/AdvancedStrokeShaders.cpp
source/blender/freestyle/intern/stroke/AdvancedStrokeShaders.h
source/blender/freestyle/intern/stroke/BasicStrokeShaders.cpp
source/blender/freestyle/intern/stroke/BasicStrokeShaders.h
source/blender/freestyle/intern/stroke/Canvas.cpp
source/blender/freestyle/intern/stroke/Canvas.h
source/blender/freestyle/intern/stroke/Chain.cpp
source/blender/freestyle/intern/stroke/Chain.h
source/blender/freestyle/intern/stroke/ChainingIterators.cpp
source/blender/freestyle/intern/stroke/ChainingIterators.h
source/blender/freestyle/intern/stroke/ContextFunctions.cpp
source/blender/freestyle/intern/stroke/ContextFunctions.h
source/blender/freestyle/intern/stroke/Curve.cpp
source/blender/freestyle/intern/stroke/Curve.h
source/blender/freestyle/intern/stroke/CurveAdvancedIterators.h
source/blender/freestyle/intern/stroke/CurveIterators.h
source/blender/freestyle/intern/stroke/Modifiers.h
source/blender/freestyle/intern/stroke/Module.h
source/blender/freestyle/intern/stroke/Operators.cpp
source/blender/freestyle/intern/stroke/Operators.h
source/blender/freestyle/intern/stroke/PSStrokeRenderer.cpp
source/blender/freestyle/intern/stroke/PSStrokeRenderer.h
source/blender/freestyle/intern/stroke/Predicates0D.h
source/blender/freestyle/intern/stroke/Predicates1D.h
source/blender/freestyle/intern/stroke/QInformationMap.h
source/blender/freestyle/intern/stroke/Stroke.cpp
source/blender/freestyle/intern/stroke/Stroke.h
source/blender/freestyle/intern/stroke/StrokeAdvancedIterators.h
source/blender/freestyle/intern/stroke/StrokeIO.cpp
source/blender/freestyle/intern/stroke/StrokeIO.h
source/blender/freestyle/intern/stroke/StrokeIterators.h
source/blender/freestyle/intern/stroke/StrokeLayer.cpp
source/blender/freestyle/intern/stroke/StrokeLayer.h
source/blender/freestyle/intern/stroke/StrokeRenderer.cpp
source/blender/freestyle/intern/stroke/StrokeRenderer.h
source/blender/freestyle/intern/stroke/StrokeRep.cpp
source/blender/freestyle/intern/stroke/StrokeRep.h
source/blender/freestyle/intern/stroke/StrokeShader.h
source/blender/freestyle/intern/stroke/StrokeTesselator.cpp
source/blender/freestyle/intern/stroke/StrokeTesselator.h
source/blender/freestyle/intern/stroke/StyleModule.h
source/blender/freestyle/intern/stroke/TextStrokeRenderer.cpp
source/blender/freestyle/intern/stroke/TextStrokeRenderer.h
source/blender/freestyle/intern/system/BaseIterator.h
source/blender/freestyle/intern/system/BaseObject.h
source/blender/freestyle/intern/system/Cast.h
source/blender/freestyle/intern/system/Exception.cpp
source/blender/freestyle/intern/system/Exception.h
source/blender/freestyle/intern/system/FreestyleConfig.h
source/blender/freestyle/intern/system/Id.h
source/blender/freestyle/intern/system/Interpreter.h
source/blender/freestyle/intern/system/Iterator.h
source/blender/freestyle/intern/system/PointerSequence.h
source/blender/freestyle/intern/system/Precision.h
source/blender/freestyle/intern/system/ProgressBar.h
source/blender/freestyle/intern/system/PseudoNoise.cpp
source/blender/freestyle/intern/system/PseudoNoise.h
source/blender/freestyle/intern/system/PythonInterpreter.cpp
source/blender/freestyle/intern/system/PythonInterpreter.h
source/blender/freestyle/intern/system/RandGen.cpp
source/blender/freestyle/intern/system/RandGen.h
source/blender/freestyle/intern/system/RenderMonitor.h
source/blender/freestyle/intern/system/StringUtils.cpp
source/blender/freestyle/intern/system/StringUtils.h
source/blender/freestyle/intern/system/TimeStamp.cpp
source/blender/freestyle/intern/system/TimeStamp.h
source/blender/freestyle/intern/system/TimeUtils.h
source/blender/freestyle/intern/view_map/ArbitraryGridDensityProvider.cpp
source/blender/freestyle/intern/view_map/ArbitraryGridDensityProvider.h
source/blender/freestyle/intern/view_map/AverageAreaGridDensityProvider.cpp
source/blender/freestyle/intern/view_map/AverageAreaGridDensityProvider.h
source/blender/freestyle/intern/view_map/BoxGrid.cpp
source/blender/freestyle/intern/view_map/BoxGrid.h
source/blender/freestyle/intern/view_map/CulledOccluderSource.cpp
source/blender/freestyle/intern/view_map/CulledOccluderSource.h
source/blender/freestyle/intern/view_map/FEdgeXDetector.cpp
source/blender/freestyle/intern/view_map/FEdgeXDetector.h
source/blender/freestyle/intern/view_map/Functions0D.cpp
source/blender/freestyle/intern/view_map/Functions0D.h
source/blender/freestyle/intern/view_map/Functions1D.cpp
source/blender/freestyle/intern/view_map/Functions1D.h
source/blender/freestyle/intern/view_map/GridDensityProvider.h
source/blender/freestyle/intern/view_map/HeuristicGridDensityProviderFactory.cpp
source/blender/freestyle/intern/view_map/HeuristicGridDensityProviderFactory.h
source/blender/freestyle/intern/view_map/Interface0D.h
source/blender/freestyle/intern/view_map/Interface1D.h
source/blender/freestyle/intern/view_map/OccluderSource.cpp
source/blender/freestyle/intern/view_map/OccluderSource.h
source/blender/freestyle/intern/view_map/Pow23GridDensityProvider.cpp
source/blender/freestyle/intern/view_map/Pow23GridDensityProvider.h
source/blender/freestyle/intern/view_map/Silhouette.cpp
source/blender/freestyle/intern/view_map/Silhouette.h
source/blender/freestyle/intern/view_map/SilhouetteGeomEngine.cpp
source/blender/freestyle/intern/view_map/SilhouetteGeomEngine.h
source/blender/freestyle/intern/view_map/SphericalGrid.cpp
source/blender/freestyle/intern/view_map/SphericalGrid.h
source/blender/freestyle/intern/view_map/SteerableViewMap.cpp
source/blender/freestyle/intern/view_map/SteerableViewMap.h
source/blender/freestyle/intern/view_map/ViewEdgeXBuilder.cpp
source/blender/freestyle/intern/view_map/ViewEdgeXBuilder.h
source/blender/freestyle/intern/view_map/ViewMap.cpp
source/blender/freestyle/intern/view_map/ViewMap.h
source/blender/freestyle/intern/view_map/ViewMapAdvancedIterators.h
source/blender/freestyle/intern/view_map/ViewMapBuilder.cpp
source/blender/freestyle/intern/view_map/ViewMapBuilder.h
source/blender/freestyle/intern/view_map/ViewMapIO.cpp
source/blender/freestyle/intern/view_map/ViewMapIO.h
source/blender/freestyle/intern/view_map/ViewMapIterators.h
source/blender/freestyle/intern/view_map/ViewMapTesselator.cpp
source/blender/freestyle/intern/view_map/ViewMapTesselator.h
source/blender/freestyle/intern/winged_edge/Curvature.cpp
source/blender/freestyle/intern/winged_edge/Curvature.h
source/blender/freestyle/intern/winged_edge/Nature.h
source/blender/freestyle/intern/winged_edge/WEdge.cpp
source/blender/freestyle/intern/winged_edge/WEdge.h
source/blender/freestyle/intern/winged_edge/WFillGrid.cpp
source/blender/freestyle/intern/winged_edge/WFillGrid.h
source/blender/freestyle/intern/winged_edge/WSFillGrid.cpp
source/blender/freestyle/intern/winged_edge/WSFillGrid.h
source/blender/freestyle/intern/winged_edge/WXEdge.cpp
source/blender/freestyle/intern/winged_edge/WXEdge.h
source/blender/freestyle/intern/winged_edge/WXEdgeBuilder.cpp
source/blender/freestyle/intern/winged_edge/WXEdgeBuilder.h
source/blender/freestyle/intern/winged_edge/WingedEdgeBuilder.cpp
source/blender/freestyle/intern/winged_edge/WingedEdgeBuilder.h
source/blender/makesdna/DNA_freestyle_types.h