diff options
Diffstat (limited to 'source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp')
-rw-r--r-- | source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp index 7c10591591c..5c361de8d8d 100644 --- a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp +++ b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp @@ -243,6 +243,8 @@ Material* BlenderStrokeRenderer::GetStrokeShader(Main *bmain, bNodeTree *iNodeTr PointerRNA fromptr, toptr; NodeShaderAttribute *storage; + id_us_min(&ma->id); + if (iNodeTree) { // make a copy of linestyle->nodetree ntree = ntreeCopyTree_ex(iNodeTree, bmain, do_id_user); @@ -514,6 +516,8 @@ void BlenderStrokeRenderer::RenderStrokeRepBasic(StrokeRep *iStrokeRep) const ma->mode |= MA_SHLESS; ma->vcol_alpha = 1; + id_us_min(&ma->id); + // Textures while (iStrokeRep->getMTex(a)) { ma->mtex[a] = (MTex *)iStrokeRep->getMTex(a); @@ -734,6 +738,7 @@ void BlenderStrokeRenderer::GenerateStrokeMesh(StrokeGroup *group, bool hasTex) it != itend; ++it) { mesh->mat[material_index] = (*it)->getMaterial(); + id_us_plus(&mesh->mat[material_index]->id); vector<Strip*>& strips = (*it)->getStrips(); for (vector<Strip*>::const_iterator s = strips.begin(), send = strips.end(); s != send; ++s) { |