Revision: 16889
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16889
Author:   blendix
Date:     2008-10-03 00:55:25 +0200 (Fri, 03 Oct 2008)

Log Message:
-----------
Fix for bug #17735: vertex color render layer got invalid value
when switching to weight paint mode.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c

Modified: trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c        
2008-10-02 22:15:28 UTC (rev 16888)
+++ trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c        
2008-10-02 22:55:25 UTC (rev 16889)
@@ -2701,17 +2701,22 @@
                if( (G.f & G_WEIGHTPAINT) && ob==obact ) {
                        MCol *wpcol = (MCol*)calc_weightpaint_colors(ob);
                        int layernum = CustomData_number_of_layers(&me->fdata, 
CD_MCOL);
+                       int prevactive = 
CustomData_get_active_layer(&me->fdata, CD_MCOL);
+                       int prevrender = 
CustomData_get_render_layer(&me->fdata, CD_MCOL);
 
                        /* ugly hack here, we temporarily add a new active mcol 
layer with
                           weightpaint colors in it, that is then duplicated in 
CDDM_from_mesh */
                        CustomData_add_layer(&me->fdata, CD_MCOL, CD_ASSIGN, 
wpcol, me->totface);
                        CustomData_set_layer_active(&me->fdata, CD_MCOL, 
layernum);
+                       CustomData_set_layer_render(&me->fdata, CD_MCOL, 
layernum);
 
                        mesh_calc_modifiers(ob, NULL, &ob->derivedDeform,
                                            &ob->derivedFinal, 0, 1,
                                            needMapping, dataMask, -1);
 
                        CustomData_free_layer_active(&me->fdata, CD_MCOL, 
me->totface);
+                       CustomData_set_layer_active(&me->fdata, CD_MCOL, 
prevactive);
+                       CustomData_set_layer_render(&me->fdata, CD_MCOL, 
prevrender);
                } else {
                        mesh_calc_modifiers(ob, NULL, &ob->derivedDeform,
                                            &ob->derivedFinal, G.rendering, 1,


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

Reply via email to