=bmesh= sculpt without multires updates properly now. not sure I did this correctly...
authorJoseph Eagar <joeedh@gmail.com>
Tue, 30 Aug 2011 02:33:27 +0000 (02:33 +0000)
committerJoseph Eagar <joeedh@gmail.com>
Tue, 30 Aug 2011 02:33:27 +0000 (02:33 +0000)
source/blender/editors/sculpt_paint/sculpt.c
source/blender/editors/sculpt_paint/sculpt_undo.c

index e691edff9cd06cce50387a93a457bd71daa9af27..cd03b83eba294afd5686d7c887964c1361524093 100644 (file)
@@ -3389,7 +3389,7 @@ static void sculpt_flush_update(bContext *C)
        if(ob->derivedFinal) /* VBO no longer valid */
                GPU_drawobject_free(ob->derivedFinal);
 
-       if (!ss->cache)
+       if (!ss->cache || !mmd)
                DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
        
        if(ss->modifiers_active) {
index ca1737fdf8777474a843e4423a9d804517fcd035..cd93ae6f77b292d689b94172ba09acc07ef9a2bd 100644 (file)
@@ -193,7 +193,7 @@ static void sculpt_undo_restore(bContext *C, ListBase *lb)
                if((mmd=sculpt_multires_active(scene, ob)))
                        multires_mark_as_modified(ob);
 
-               tag_update= ((Mesh*)ob->data)->id.us > 1;
+               tag_update= ((Mesh*)ob->data)->id.us > 1 || !mmd;
 
                if(ss->modifiers_active) {
                        Mesh *mesh= ob->data;