Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Bishop <nicholasbishop@gmail.com>2010-06-07 22:20:59 +0400
committerNicholas Bishop <nicholasbishop@gmail.com>2010-06-07 22:20:59 +0400
commit6a8bff9570ca3325e286694586f77d8905e47ea7 (patch)
tree9458bd773cecf023d301692ccf33281198d2860c /source/blender/modifiers
parente012fc8107e11d3bdbdc395ad399d4145cc27639 (diff)
Fixed bug #21540, Array Modifier Capping refresh on open problem.
* Problem was that the modifier directly accessed ob->derivedFinal, but that wasn't being built if the object was on a different layer. Changed to mesh_get_derived_final. Notes: * I fixed this for array and boolean, reported in the bug; there might be other places affected by this mistake. It's an easy fix if so. * The datamask being passed in isn't especially correct. Possibly we should be accessing the datamask being used to build the array modifier DerivedMesh? Anyway, at least this will get the mesh to show up in the viewport.
Diffstat (limited to 'source/blender/modifiers')
-rw-r--r--source/blender/modifiers/intern/MOD_array.c4
-rw-r--r--source/blender/modifiers/intern/MOD_boolean.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c
index 505fcdc43d5..24615906e19 100644
--- a/source/blender/modifiers/intern/MOD_array.c
+++ b/source/blender/modifiers/intern/MOD_array.c
@@ -211,9 +211,9 @@ static DerivedMesh *arrayModifier_doArray(ArrayModifierData *amd,
/* need to avoid infinite recursion here */
if(amd->start_cap && amd->start_cap != ob)
- start_cap = amd->start_cap->derivedFinal;
+ start_cap = mesh_get_derived_final(scene, amd->start_cap, 0);
if(amd->end_cap && amd->end_cap != ob)
- end_cap = amd->end_cap->derivedFinal;
+ end_cap = mesh_get_derived_final(scene, amd->end_cap, 0);
unit_m4(offset);
diff --git a/source/blender/modifiers/intern/MOD_boolean.c b/source/blender/modifiers/intern/MOD_boolean.c
index 116f5ab22d2..c23dcc5ce0a 100644
--- a/source/blender/modifiers/intern/MOD_boolean.c
+++ b/source/blender/modifiers/intern/MOD_boolean.c
@@ -85,7 +85,7 @@ static DerivedMesh *applyModifier(
int useRenderParams, int isFinalCalc)
{
BooleanModifierData *bmd = (BooleanModifierData*) md;
- DerivedMesh *dm = bmd->object->derivedFinal;
+ DerivedMesh *dm = mesh_get_derived_final(md->scene, bmd->object, 0);
/* we do a quick sanity check */
if(dm && (derivedData->getNumFaces(derivedData) > 3)