diff options
author | Mitchell Stokes <mogurijin@gmail.com> | 2014-07-03 07:15:36 +0400 |
---|---|---|
committer | Mitchell Stokes <mogurijin@gmail.com> | 2014-07-03 07:17:17 +0400 |
commit | 49aff416f8db98d858cb4c822ad4425377fc7acd (patch) | |
tree | 0f11328955b6d68f5035bf80def0c6dd5f06bfae | |
parent | 3f1ed437c103ce016e9a465084624fb36470a61d (diff) |
Fix T40912: Collision Callbacks Don't Work if Set Directly
-rw-r--r-- | source/gameengine/Ketsji/KX_GameObject.cpp | 8 |
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; |