BGE cleanup: KX_GameObject::GetParent() no longer increases the object's refcount.

I'm not sure why this function ever increased the object's refcount. Any
place in the code that calls KX_GameObject::GetParent() has to turn
around and call parent->Release(). Forgetting to call Release() was a
common cause of memory leaks (in fact, KX_SteeringActuator was probably
leaking). If the refcount needs to be increased, the calling code can
handle calling AddRef().
This commit is contained in:
2014-04-30 18:37:47 -07:00
parent 8d42e7b20d
commit 60c8c130fe
8 changed files with 0 additions and 28 deletions

View File

@@ -306,9 +306,6 @@ KX_GameObject* KX_GameObject::GetParent()
if (node)
result = (KX_GameObject*)node->GetSGClientObject();
}
if (result)
result->AddRef();
return result;
@@ -2113,7 +2110,6 @@ PyObject *KX_GameObject::pyattr_get_parent(void *self_v, const KX_PYATTRIBUTE_DE
KX_GameObject* self = static_cast<KX_GameObject*>(self_v);
KX_GameObject* parent = self->GetParent();
if (parent) {
parent->Release(); /* self->GetParent() AddRef's */
return parent->GetProxy();
}
Py_RETURN_NONE;