[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [37087] trunk/blender/source/blender/ blenkernel/intern/multires.c: Fix #27539: Sculpt data is lost after editing base mesh

Sergey Sharybin g.ulairi at gmail.com
Thu Jun 2 06:58:28 CEST 2011


Revision: 37087
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37087
Author:   nazgul
Date:     2011-06-02 04:58:27 +0000 (Thu, 02 Jun 2011)
Log Message:
-----------
Fix #27539: Sculpt data is lost after editing base mesh

Face's totdisp was set to correct value, but memory hasn't been
allocated for disps. Handle this in multires_topology_changed(),
so the whole MDISPS layer wouldn't be totally re-allocated when
applying displacement.

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

Modified: trunk/blender/source/blender/blenkernel/intern/multires.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/multires.c	2011-06-02 00:05:54 UTC (rev 37086)
+++ trunk/blender/source/blender/blenkernel/intern/multires.c	2011-06-02 04:58:27 UTC (rev 37087)
@@ -1756,7 +1756,7 @@
 		int nvert= me->mface[i].v4 ? 4 : 3;
 
 		/* allocate memory for mdisp, the whole disp layer would be erased otherwise */
-		if(!mdisp->totdisp) {
+		if(!mdisp->totdisp || !mdisp->disps) {
 			if(grid) {
 				mdisp->totdisp= nvert*grid;
 				mdisp->disps= MEM_callocN(mdisp->totdisp*sizeof(float)*3, "mdisp topology");




More information about the Bf-blender-cvs mailing list