From 49aff416f8db98d858cb4c822ad4425377fc7acd Mon Sep 17 00:00:00 2001 From: Mitchell Stokes Date: Wed, 2 Jul 2014 20:15:36 -0700 Subject: Fix T40912: Collision Callbacks Don't Work if Set Directly --- source/gameengine/Ketsji/KX_GameObject.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'source/gameengine') 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; -- cgit v1.2.3