Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitchell Stokes <mogurijin@gmail.com>2014-07-03 07:15:36 +0400
committerMitchell Stokes <mogurijin@gmail.com>2014-07-03 07:17:17 +0400
commit49aff416f8db98d858cb4c822ad4425377fc7acd (patch)
tree0f11328955b6d68f5035bf80def0c6dd5f06bfae /source/gameengine/Ketsji/KX_GameObject.cpp
parent3f1ed437c103ce016e9a465084624fb36470a61d (diff)
Fix T40912: Collision Callbacks Don't Work if Set Directly
Diffstat (limited to 'source/gameengine/Ketsji/KX_GameObject.cpp')
-rw-r--r--source/gameengine/Ketsji/KX_GameObject.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/source/gameengine/Ketsji/KX_GameObject.cpp b/source/gameengine/Ketsji/KX_GameObject.cpp
index 7b781344763..44646f17a6e 100644
--- a/source/gameengine/Ketsji/KX_GameObject.cpp
+++ b/source/gameengine/Ketsji/KX_GameObject.cpp
@@ -2188,9 +2188,15 @@ int KX_GameObject::pyattr_set_collisionCallbacks(void *self_v, const KX_PYATTRIB
return PY_SET_ATTR_FAIL;
}
- Py_XDECREF(self->m_collisionCallbacks);
+ if (self->m_collisionCallbacks == NULL) {
+ self->RegisterCollisionCallbacks();
+ } else {
+ Py_DECREF(self->m_collisionCallbacks);
+ }
+
Py_INCREF(value);
+
self->m_collisionCallbacks = value;
return PY_SET_ATTR_SUCCESS;