Revision: 29887
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29887
Author:   nicholasbishop
Date:     2010-07-03 07:31:06 +0200 (Sat, 03 Jul 2010)

Log Message:
-----------
* Fixed masks not updating after undo

Modified Paths:
--------------
    branches/soc-2010-nicolasbishop/source/blender/blenlib/BLI_pbvh.h
    branches/soc-2010-nicolasbishop/source/blender/editors/sculpt_paint/sculpt.c

Modified: branches/soc-2010-nicolasbishop/source/blender/blenlib/BLI_pbvh.h
===================================================================
--- branches/soc-2010-nicolasbishop/source/blender/blenlib/BLI_pbvh.h   
2010-07-03 03:53:06 UTC (rev 29886)
+++ branches/soc-2010-nicolasbishop/source/blender/blenlib/BLI_pbvh.h   
2010-07-03 05:31:06 UTC (rev 29887)
@@ -109,7 +109,14 @@
        /* Update color data (used for masks) */
        PBVH_UpdateColorBuffers = 32,
 
-       PBVH_UpdateRedraw = 64
+       PBVH_UpdateRedraw = 64,
+
+       PBVH_UpdateAll = PBVH_UpdateNormals |
+                        PBVH_UpdateBB |
+                        PBVH_UpdateOriginalBB |
+                        PBVH_UpdateVertBuffers |
+                        PBVH_UpdateColorBuffers |
+                        PBVH_UpdateRedraw
 } PBVHNodeFlags;
 
 void BLI_pbvh_node_mark_update(PBVHNode *node);

Modified: 
branches/soc-2010-nicolasbishop/source/blender/editors/sculpt_paint/sculpt.c
===================================================================
--- 
branches/soc-2010-nicolasbishop/source/blender/editors/sculpt_paint/sculpt.c    
    2010-07-03 03:53:06 UTC (rev 29886)
+++ 
branches/soc-2010-nicolasbishop/source/blender/editors/sculpt_paint/sculpt.c    
    2010-07-03 05:31:06 UTC (rev 29887)
@@ -294,11 +294,6 @@
        char *shapeName[32]; /* keep size in sync with keyblock dna */
 } SculptUndoNode;
 
-static void update_cb(PBVHNode *node, void *data)
-{
-       BLI_pbvh_node_mark_update(node);
-}
-
 /* Checks whether full update mode (slower) needs to be used to work with 
modifiers */
 static int sculpt_modifiers_active(Scene *scene, Object *ob)
 {
@@ -452,7 +447,8 @@
                /* we update all nodes still, should be more clever, but also
                   needs to work correct when exiting/entering sculpt mode and
                   the nodes get recreated, though in that case it could do all 
*/
-               BLI_pbvh_search_callback(ss->pbvh, NULL, NULL, update_cb, NULL);
+               BLI_pbvh_search_callback(ss->pbvh, NULL, NULL, 
BLI_pbvh_node_set_flags,
+                                        SET_INT_IN_POINTER(PBVH_UpdateAll));
                BLI_pbvh_update(ss->pbvh, 
PBVH_UpdateBB|PBVH_UpdateOriginalBB|PBVH_UpdateRedraw, NULL);
 
                if((mmd=paint_multires_active(scene, ob)))
@@ -2391,7 +2387,8 @@
                        /* Avoid cracks in multires */
                        if(ss->multires) {
                                BLI_pbvh_search_callback(ss->pbvh, NULL, NULL,
-                                                        update_cb, NULL);
+                                                        
BLI_pbvh_node_set_flags,
+                                                        
SET_INT_IN_POINTER(PBVH_UpdateAll));
                                multires_stitch_grids(ss->ob);
                        }
 


_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to