diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-07-09 23:59:32 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-07-09 23:59:32 +0400 |
commit | 7370ba1839973010dd6e0ed0349c34477d8ece0a (patch) | |
tree | 31afe355c52ff2efb09842e5a117f82a8c7d5f66 | |
parent | 65d1e27ff5b5d315a462c27d9e194561b78072ec (diff) |
fix for NULL pointer usages
-rw-r--r-- | source/blender/blenlib/intern/pbvh.c | 5 | ||||
-rw-r--r-- | source/blender/python/intern/bpy_rna.c | 4 | ||||
-rw-r--r-- | source/gameengine/Expressions/PyObjectPlus.cpp | 2 | ||||
-rw-r--r-- | source/gameengine/Ketsji/KX_Camera.cpp | 6 | ||||
-rw-r--r-- | source/gameengine/Ketsji/KX_GameObject.cpp | 2 |
5 files changed, 10 insertions, 9 deletions
diff --git a/source/blender/blenlib/intern/pbvh.c b/source/blender/blenlib/intern/pbvh.c index f7b79b35cbc..85d79ae3b85 100644 --- a/source/blender/blenlib/intern/pbvh.c +++ b/source/blender/blenlib/intern/pbvh.c @@ -1189,8 +1189,9 @@ void BLI_pbvh_node_get_verts(PBVH *bvh, PBVHNode *node, int **vert_indices, MVer 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; diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c index c1c7e0ea740..4f6edb02a7c 100644 --- a/source/blender/python/intern/bpy_rna.c +++ b/source/blender/python/intern/bpy_rna.c @@ -3847,9 +3847,11 @@ static PyObject *foreach_getset(BPy_PropertyRNA *self, PyObject *args, int set) 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; } diff --git a/source/gameengine/Expressions/PyObjectPlus.cpp b/source/gameengine/Expressions/PyObjectPlus.cpp index 10906cdae02..3a25df73f9b 100644 --- a/source/gameengine/Expressions/PyObjectPlus.cpp +++ b/source/gameengine/Expressions/PyObjectPlus.cpp @@ -1147,7 +1147,7 @@ PyObject *PyObjectPlus::NewProxyPlus_Ext(PyObjectPlus *self, PyTypeObject *tp, v 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; } diff --git a/source/gameengine/Ketsji/KX_Camera.cpp b/source/gameengine/Ketsji/KX_Camera.cpp index 473ebbd74bf..c60c931c33b 100644 --- a/source/gameengine/Ketsji/KX_Camera.cpp +++ b/source/gameengine/Ketsji/KX_Camera.cpp @@ -1022,10 +1022,8 @@ KX_PYMETHODDEF_DOC_VARARGS(KX_Camera, getScreenRay, 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)) { diff --git a/source/gameengine/Ketsji/KX_GameObject.cpp b/source/gameengine/Ketsji/KX_GameObject.cpp index 47d83c16659..7ca8e7e3b52 100644 --- a/source/gameengine/Ketsji/KX_GameObject.cpp +++ b/source/gameengine/Ketsji/KX_GameObject.cpp @@ -327,7 +327,7 @@ void KX_GameObject::RemoveParent(KX_Scene *scene) 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(); |