code cleanup: favor braces when blocks have mixed brace use.
[blender.git] / source / blender / editors / mesh / meshtools.c
index 96b8f10..3d4d204 100644 (file)
@@ -149,7 +149,7 @@ int join_mesh_exec(bContext *C, wmOperator *op)
                return OPERATOR_CANCELLED;
        }
 
-       /* remove tessface to ensure we don't old references to invalid faces */
+       /* remove tessface to ensure we don't hold references to invalid faces */
        BKE_mesh_tessface_clear(me);
 
        /* new material indices and material array */
@@ -309,6 +309,10 @@ int join_mesh_exec(bContext *C, wmOperator *op)
                        me = base->object->data;
                        
                        if (me->totvert) {
+
+                               /* merge customdata flag */
+                               ((Mesh *)ob->data)->cd_flag |= me->cd_flag;
+
                                /* standard data */
                                CustomData_merge(&me->vdata, &vdata, CD_MASK_MESH, CD_DEFAULT, totvert);
                                CustomData_copy_data(&me->vdata, &vdata, 0, vertofs, me->totvert);
@@ -502,6 +506,9 @@ int join_mesh_exec(bContext *C, wmOperator *op)
 
        /* tessface data removed above, no need to update */
        mesh_update_customdata_pointers(me, FALSE);
+
+       /* update normals in case objects with non-uniform scale are joined */
+       ED_mesh_calc_normals(me);
        
        /* old material array */
        for (a = 1; a <= ob->totcol; a++) {
@@ -556,7 +563,7 @@ int join_mesh_exec(bContext *C, wmOperator *op)
        }
 
 
-       DAG_scene_sort(bmain, scene);   // removed objects, need to rebuild dag before editmode call
+       DAG_relations_tag_update(bmain);   // removed objects, need to rebuild dag
 
 #if 0
        ED_object_enter_editmode(C, EM_WAITCURSOR);
@@ -782,7 +789,9 @@ static intptr_t mesh_octree_find_index(MocNode **bt, MVert *mvert, const float c
                                        return (*bt)->index[a];
                        }
                }
-               else return -1;
+               else {
+                       return -1;
+               }
        }
        if ( (*bt)->next)
                return mesh_octree_find_index(&(*bt)->next, mvert, co);