[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [38273] trunk/blender/source: fix for NULL pointer usages

Campbell Barton ideasman42 at gmail.com
Sat Jul 9 21:59:33 CEST 2011


Revision: 38273
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38273
Author:   campbellbarton
Date:     2011-07-09 19:59:32 +0000 (Sat, 09 Jul 2011)
Log Message:
-----------
fix for NULL pointer usages

Modified Paths:
--------------
    trunk/blender/source/blender/blenlib/intern/pbvh.c
    trunk/blender/source/blender/python/intern/bpy_rna.c
    trunk/blender/source/gameengine/Expressions/PyObjectPlus.cpp
    trunk/blender/source/gameengine/Ketsji/KX_Camera.cpp
    trunk/blender/source/gameengine/Ketsji/KX_GameObject.cpp

Modified: trunk/blender/source/blender/blenlib/intern/pbvh.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/pbvh.c	2011-07-09 19:57:29 UTC (rev 38272)
+++ trunk/blender/source/blender/blenlib/intern/pbvh.c	2011-07-09 19:59:32 UTC (rev 38273)
@@ -1189,8 +1189,9 @@
 void BLI_pbvh_node_num_verts(PBVH *bvh, PBVHNode *node, int *uniquevert, int *totvert)
 {
 	if(bvh->grids) {
-		if(totvert) *totvert= node->totprim*bvh->gridsize*bvh->gridsize;
-		if(uniquevert) *uniquevert= *totvert;
+		const int tot= node->totprim*bvh->gridsize*bvh->gridsize;
+		if(totvert) *totvert= tot;
+		if(uniquevert) *uniquevert= tot;
 	}
 	else {
 		if(totvert) *totvert= node->uniq_verts + node->face_verts;

Modified: trunk/blender/source/blender/python/intern/bpy_rna.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_rna.c	2011-07-09 19:57:29 UTC (rev 38272)
+++ trunk/blender/source/blender/python/intern/bpy_rna.c	2011-07-09 19:59:32 UTC (rev 38273)
@@ -3847,9 +3847,11 @@
 				case PROP_RAW_DOUBLE:
 					item= PyFloat_FromDouble((double) ((double *)array)[i]);
 					break;
-				case PROP_RAW_UNSET:
+				default: /* PROP_RAW_UNSET */
 					/* should never happen */
 					BLI_assert(!"Invalid array type - get");
+					item= Py_None;
+					Py_INCREF(item);
 					break;
 				}
 

Modified: trunk/blender/source/gameengine/Expressions/PyObjectPlus.cpp
===================================================================
--- trunk/blender/source/gameengine/Expressions/PyObjectPlus.cpp	2011-07-09 19:57:29 UTC (rev 38272)
+++ trunk/blender/source/gameengine/Expressions/PyObjectPlus.cpp	2011-07-09 19:59:32 UTC (rev 38273)
@@ -1147,7 +1147,7 @@
 		BGE_PROXY_REF(proxy) = NULL; 
 		BGE_PROXY_PTR(proxy) = ptr;
 #ifdef USE_WEAKREFS
-		BGE_PROXY_WKREF(self->m_proxy) = NULL;
+		BGE_PROXY_WKREF(proxy) = NULL;
 #endif
 		return proxy;
 	}

Modified: trunk/blender/source/gameengine/Ketsji/KX_Camera.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_Camera.cpp	2011-07-09 19:57:29 UTC (rev 38272)
+++ trunk/blender/source/gameengine/Ketsji/KX_Camera.cpp	2011-07-09 19:59:32 UTC (rev 38273)
@@ -1022,10 +1022,8 @@
 		return NULL;
 
 	PyObject* argValue = PyTuple_New(2);
-	if (argValue) {
-		PyTuple_SET_ITEM(argValue, 0, PyFloat_FromDouble(x));
-		PyTuple_SET_ITEM(argValue, 1, PyFloat_FromDouble(y));
-	}
+	PyTuple_SET_ITEM(argValue, 0, PyFloat_FromDouble(x));
+	PyTuple_SET_ITEM(argValue, 1, PyFloat_FromDouble(y));
 
 	if(!PyVecTo(PygetScreenVect(argValue), vect))
 	{

Modified: trunk/blender/source/gameengine/Ketsji/KX_GameObject.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_GameObject.cpp	2011-07-09 19:57:29 UTC (rev 38272)
+++ trunk/blender/source/gameengine/Ketsji/KX_GameObject.cpp	2011-07-09 19:59:32 UTC (rev 38273)
@@ -327,7 +327,7 @@
 				rootobj->m_pPhysicsController1->RemoveCompoundChild(m_pPhysicsController1);
 			}
 			m_pPhysicsController1->RestoreDynamics();
-			if (m_pPhysicsController1->IsDyna() && rootobj->m_pPhysicsController1)
+			if (m_pPhysicsController1->IsDyna() && (rootobj != NULL && rootobj->m_pPhysicsController1))
 			{
 				// dynamic object should remember the velocity they had while being parented
 				MT_Point3 childPoint = GetSGNode()->GetWorldPosition();




More information about the Bf-blender-cvs mailing list