From cdec2b3d15ab0448e4df70496285ed95681e5972 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 19 Feb 2009 13:42:07 +0000 Subject: BGE Python API Use 'const char *' rather then the C++ 'STR_String' type for the attribute identifier of python attributes. Each attribute and method access from python was allocating and freeing the string. A simple test with getting an attribute a loop shows this speeds up attribute lookups a bit over 2x. --- source/gameengine/Ketsji/KX_CameraActuator.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'source/gameengine/Ketsji/KX_CameraActuator.cpp') diff --git a/source/gameengine/Ketsji/KX_CameraActuator.cpp b/source/gameengine/Ketsji/KX_CameraActuator.cpp index 4ac097eb575..dc2c4c4b414 100644 --- a/source/gameengine/Ketsji/KX_CameraActuator.cpp +++ b/source/gameengine/Ketsji/KX_CameraActuator.cpp @@ -420,10 +420,10 @@ PyAttributeDef KX_CameraActuator::Attributes[] = { {NULL} }; -PyObject* KX_CameraActuator::_getattr(const STR_String& attr) { +PyObject* KX_CameraActuator::_getattr(const char *attr) { PyObject* object; - if (attr == "object") { + if (!strcmp(attr, "object")) { if (!m_ob) Py_RETURN_NONE; else return m_ob->AddRef(); } @@ -434,10 +434,10 @@ PyObject* KX_CameraActuator::_getattr(const STR_String& attr) { _getattr_up(SCA_IActuator); } -int KX_CameraActuator::_setattr(const STR_String& attr, PyObject* value) { +int KX_CameraActuator::_setattr(const char *attr, PyObject* value) { int ret; - if (attr == "object") { + if (!strcmp(attr, "object")) { KX_GameObject *gameobj; if (!ConvertPythonToGameObject(value, &gameobj, true)) -- cgit v1.2.3