[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [16889] trunk/blender/source/blender/ blenkernel/intern/DerivedMesh.c: Fix for bug #17735: vertex color render layer got invalid value

Brecht Van Lommel brecht at blender.org
Fri Oct 3 00:55:26 CEST 2008


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,





More information about the Bf-blender-cvs mailing list