[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36424] trunk/blender: fix transform code using a node space as an image space, accessing unallocated memory.

Campbell Barton ideasman42 at gmail.com
Mon May 2 07:25:00 CEST 2011


Revision: 36424
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36424
Author:   campbellbarton
Date:     2011-05-02 05:24:59 +0000 (Mon, 02 May 2011)
Log Message:
-----------
fix transform code using a node space as an image space, accessing unallocated memory.
also remove bullet patch which has now been applied.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/transform/transform_generics.c

Removed Paths:
-------------
    trunk/blender/extern/bullet2/uninitialized_stack_vec.patch

Deleted: trunk/blender/extern/bullet2/uninitialized_stack_vec.patch
===================================================================
--- trunk/blender/extern/bullet2/uninitialized_stack_vec.patch	2011-05-02 03:44:02 UTC (rev 36423)
+++ trunk/blender/extern/bullet2/uninitialized_stack_vec.patch	2011-05-02 05:24:59 UTC (rev 36424)
@@ -1,17 +0,0 @@
-Index: src/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.cpp
-===================================================================
---- src/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.cpp	(revision 34336)
-+++ src/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.cpp	(working copy)
-@@ -61,10 +61,12 @@
- 	scaledAabbMin[0] = m_localScaling.getX() >= 0. ? aabbMin[0] * invLocalScaling[0] : aabbMax[0] * invLocalScaling[0];
- 	scaledAabbMin[1] = m_localScaling.getY() >= 0. ? aabbMin[1] * invLocalScaling[1] : aabbMax[1] * invLocalScaling[1];
- 	scaledAabbMin[2] = m_localScaling.getZ() >= 0. ? aabbMin[2] * invLocalScaling[2] : aabbMax[2] * invLocalScaling[2];
-+	scaledAabbMin[3] = 0.0; /* otherwise un-initialized stack memory: uninitialized_stack_vec.patch, blender patch */
- 	
- 	scaledAabbMax[0] = m_localScaling.getX() <= 0. ? aabbMin[0] * invLocalScaling[0] : aabbMax[0] * invLocalScaling[0];
- 	scaledAabbMax[1] = m_localScaling.getY() <= 0. ? aabbMin[1] * invLocalScaling[1] : aabbMax[1] * invLocalScaling[1];
- 	scaledAabbMax[2] = m_localScaling.getZ() <= 0. ? aabbMin[2] * invLocalScaling[2] : aabbMax[2] * invLocalScaling[2];
-+	scaledAabbMax[3] = 0.0; /* otherwise un-initialized stack memory: uninitialized_stack_vec.patch, blender patch */
- 	
- 	
- 	m_bvhTriMeshShape->processAllTriangles(&scaledCallback,scaledAabbMin,scaledAabbMax);

Modified: trunk/blender/source/blender/editors/transform/transform_generics.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_generics.c	2011-05-02 03:44:02 UTC (rev 36423)
+++ trunk/blender/source/blender/editors/transform/transform_generics.c	2011-05-02 05:24:59 UTC (rev 36424)
@@ -1018,13 +1018,19 @@
 			}
 		}
 	}
-	else if(t->spacetype==SPACE_IMAGE || t->spacetype==SPACE_NODE)
+	else if(t->spacetype==SPACE_IMAGE)
 	{
 		SpaceImage *sima = sa->spacedata.first;
-		// XXX for now, get View2D  from the active region
+		// XXX for now, get View2D from the active region
 		t->view = &ar->v2d;
-		t->around = (sima ? sima->around : 0);
+		t->around = sima->around;
 	}
+	else if(t->spacetype==SPACE_NODE)
+	{
+		// XXX for now, get View2D from the active region
+		t->view = &ar->v2d;
+		t->around = V3D_CENTER;
+	}
 	else if(t->spacetype==SPACE_IPO) 
 	{
 		SpaceIpo *sipo= sa->spacedata.first;




More information about the Bf-blender-cvs mailing list