From a306759b7af05914a46eb9fec2dd3cc50aa6f20f Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 25 Nov 2009 23:35:58 +0000 Subject: small change to BGE callbacks, only allocate empty args once in the callback loop. --- source/gameengine/Ketsji/KX_Scene.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'source/gameengine') diff --git a/source/gameengine/Ketsji/KX_Scene.cpp b/source/gameengine/Ketsji/KX_Scene.cpp index 2aff57961d8..b45fecb0f98 100644 --- a/source/gameengine/Ketsji/KX_Scene.cpp +++ b/source/gameengine/Ketsji/KX_Scene.cpp @@ -412,6 +412,7 @@ void KX_Scene::RunDrawingCallbacks(PyObject* cb_list) if (cb_list && (len=PyList_GET_SIZE(cb_list))) { + PyObject* args= PyTuple_New(0); // save python creating each call PyObject* func; PyObject* ret; @@ -419,7 +420,7 @@ void KX_Scene::RunDrawingCallbacks(PyObject* cb_list) for (int pos=0; pos < len; pos++) { func= PyList_GET_ITEM(cb_list, pos); - ret= PyObject_CallObject(func, NULL); + ret= PyObject_Call(func, args, NULL); if (ret==NULL) { PyErr_Print(); PyErr_Clear(); @@ -428,6 +429,8 @@ void KX_Scene::RunDrawingCallbacks(PyObject* cb_list) Py_DECREF(ret); } } + + Py_DECREF(args); } } -- cgit v1.2.3