[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19403] trunk/blender/source/blender/src/ transform_snap.c: Bad crash in volume snapping code when duplis where involved.

Martin Poirier theeth at yahoo.com
Tue Mar 24 20:39:43 CET 2009


Revision: 19403
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19403
Author:   theeth
Date:     2009-03-24 20:39:43 +0100 (Tue, 24 Mar 2009)

Log Message:
-----------
Bad crash in volume snapping code when duplis where involved.

Found out using Coverity's scan report.

Modified Paths:
--------------
    trunk/blender/source/blender/src/transform_snap.c

Modified: trunk/blender/source/blender/src/transform_snap.c
===================================================================
--- trunk/blender/source/blender/src/transform_snap.c	2009-03-24 19:39:02 UTC (rev 19402)
+++ trunk/blender/source/blender/src/transform_snap.c	2009-03-24 19:39:43 UTC (rev 19403)
@@ -1563,11 +1563,21 @@
 					Object *ob = dupli_ob->ob;
 					
 					if (ob->type == OB_MESH) {
-						DerivedMesh *dm;
-						int editmesh = 0;
+						DerivedMesh *dm = NULL;
 						int val;
 						
-						val = peelDerivedMesh(ob, dm, dupli_ob->mat, ray_start, ray_normal, mval, depth_peels);
+						if (ob != G.obedit)
+						{
+							dm = mesh_get_derived_final(ob, CD_MASK_BAREMESH);
+							
+							val = peelDerivedMesh(ob, dm, dupli_ob->mat, ray_start, ray_normal, mval, depth_peels);
+						}
+						else
+						{
+							dm = editmesh_get_derived_cage(CD_MASK_BAREMESH);
+							
+							val = peelDerivedMesh(ob, dm, dupli_ob->mat, ray_start, ray_normal, mval, depth_peels);
+						}
 	
 						retval = retval || val;
 	





More information about the Bf-blender-cvs mailing list