Bugfix #3437 #3438
authorTon Roosendaal <ton@blender.org>
Wed, 23 Nov 2005 19:19:44 +0000 (19:19 +0000)
committerTon Roosendaal <ton@blender.org>
Wed, 23 Nov 2005 19:19:44 +0000 (19:19 +0000)
- Mirror modifier showed particles on wrong half.
  Note: particles don't do modifiers yet (apart from using subsurf coords)
- Boolean modifier copy didn't copy the 'operation' type.

source/blender/blenkernel/intern/DerivedMesh.c
source/blender/blenkernel/intern/modifier.c

index ad64aa24e425c362118b1d1acc64c620d34f667e..2b7ea1e880a0a03f6c29e75033615f1987e4bdab 100644 (file)
@@ -949,9 +949,9 @@ static void ssDM_foreachMappedVert(DerivedMesh *dm, void (*func)(void *userData,
        for (i=0; i<dlm->totvert; i++) {
                MVert *mv = &dlm->mvert[i];
 
-               if (mv->flag&ME_VERT_STEPINDEX) index++;
+               if (mv->flag&ME_VERT_STEPINDEX) {
+                       index++;
 
-               if (index!=-1) {
                        func(userData, index, mv->co, NULL, mv->no);
                }
        }
@@ -1998,8 +1998,9 @@ float *mesh_get_mapped_verts_nors(Object *ob)
        dm= mesh_get_derived_final(ob, &needsFree);
        vertexcosnos= MEM_mallocN(6*sizeof(float)*me->totvert, "vertexcosnos map");
        
-       if(dm->foreachMappedVert)
+       if(dm->foreachMappedVert) {
                dm->foreachMappedVert(dm, make_vertexcosnos__mapFunc, vertexcosnos);
+       }
        else {
                float *fp= vertexcosnos;
                int a;
@@ -2257,14 +2258,12 @@ Mesh* readBobjgz(char *filename, Mesh *orgmesh) //, fluidsimDerivedMesh *fsdm)
 void loadFluidsimMesh(Object *srcob, int useRenderParams)
 {
        Mesh *mesh = NULL;
-       MeshDerivedMesh *mdm = NULL;
-       float (*vertCos)[3];
+       float *bbStart = NULL, *bbSize = NULL;
+       float lastBB[3];
        int displaymode = 0;
        int curFrame = G.scene->r.cfra - 1; /* start with 0 */
        char targetDir[FILE_MAXFILE+FILE_MAXDIR], targetFile[FILE_MAXFILE+FILE_MAXDIR];
        char debugStrBuffer[256];
-       float *bbStart = NULL, *bbSize = NULL;
-       float lastBB[3];
        //snprintf(debugStrBuffer,256,"loadFluidsimMesh call (obid '%s', rp %d)\n", srcob->id.name, useRenderParams); // debug
 
        if((!srcob)||(!srcob->fluidsimSettings)) {
index d2c22e6ee5452a8525777e72632666bab7bda604..19bd31386ffab00195059e351d517c499ad80055 100644 (file)
@@ -1173,6 +1173,7 @@ static void booleanModifier_copyData(ModifierData *md, ModifierData *target)
        BooleanModifierData *tbmd = (BooleanModifierData*) target;
 
        tbmd->object = bmd->object;
+       tbmd->operation = bmd->operation;
 }
 
 static int booleanModifier_isDisabled(ModifierData *md)