=bmesh= fixed non-multires sculpt; excluding the DAG update won't work here, since...
authorJoseph Eagar <joeedh@gmail.com>
Thu, 12 May 2011 17:47:26 +0000 (17:47 +0000)
committerJoseph Eagar <joeedh@gmail.com>
Thu, 12 May 2011 17:47:26 +0000 (17:47 +0000)
source/blender/bmesh/operators/bevel.c
source/blender/editors/sculpt_paint/sculpt.c

index df56740830dcad7df5460e74506543b71045979b..319a3d00771650ccd83750fdad78d6ebe6b37f18 100644 (file)
@@ -427,7 +427,8 @@ void bmesh_bevel_exec(BMesh *bm, BMOperator *op)
                }
                
                e = BM_Make_Edge(bm, firstv, lastv, bm_firstfaceloop(faces[i])->e, 1);
-               BM_Copy_Attributes(bm, bm, bm_firstfaceloop(faces[i])->prev->e, e);
+               if (bm_firstfaceloop(faces[i])->prev->e != e) 
+                       BM_Copy_Attributes(bm, bm, bm_firstfaceloop(faces[i])->prev->e, e);
                BLI_array_append(edges, e);
                
                f = BM_Make_Ngon(bm, verts[0], verts[1], edges, BLI_array_count(verts), 0);
index 0f514ff4e8f629f60eefb2fffa47730057fa8554..5b55095fdf95e6904434c5a8648cc858c0c8af2e 100644 (file)
@@ -1414,7 +1414,7 @@ static void do_nudge_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode
                proxy= BLI_pbvh_node_add_proxy(ss->pbvh, nodes[n])->co;
 
                sculpt_brush_test_init(ss, &test);
-
+               
                BLI_pbvh_vertex_iter_begin(ss->pbvh, nodes[n], vd, PBVH_ITER_UNIQUE) {
                        if(sculpt_brush_test(&test, vd.co)) {
                                const float fade = bstrength*tex_strength(ss, brush, vd.co, test.dist)*frontface(brush, an, vd.no, vd.fno);
@@ -3390,8 +3390,9 @@ static void sculpt_flush_update(bContext *C)
        if(ob->derivedFinal) /* VBO no longer valid */
                GPU_drawobject_free(ob->derivedFinal);
 
+       DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+       
        if(ss->modifiers_active) {
-               DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
                ED_region_tag_redraw(ar);
        }
        else {