[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