diff options
author | Campbell Barton <ideasman42@gmail.com> | 2009-02-19 16:42:07 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2009-02-19 16:42:07 +0300 |
commit | cdec2b3d15ab0448e4df70496285ed95681e5972 (patch) | |
tree | f6d2d49a28c45d035c0c047c9488d687a75d459b /source/gameengine/Ketsji/KX_TrackToActuator.cpp | |
parent | c597863783e1001dca599e6dcbc28048f0ef4ce1 (diff) |
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.
Diffstat (limited to 'source/gameengine/Ketsji/KX_TrackToActuator.cpp')
-rw-r--r-- | source/gameengine/Ketsji/KX_TrackToActuator.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source/gameengine/Ketsji/KX_TrackToActuator.cpp b/source/gameengine/Ketsji/KX_TrackToActuator.cpp index 515349fbba8..f9f804cfc66 100644 --- a/source/gameengine/Ketsji/KX_TrackToActuator.cpp +++ b/source/gameengine/Ketsji/KX_TrackToActuator.cpp @@ -470,9 +470,9 @@ PyMethodDef KX_TrackToActuator::Methods[] = { -PyObject* KX_TrackToActuator::_getattr(const STR_String& attr) +PyObject* KX_TrackToActuator::_getattr(const char *attr) { - if (attr == "object") { + if (!strcmp(attr, "object")) { if (!m_object) Py_RETURN_NONE; else return m_object->AddRef(); } @@ -480,10 +480,10 @@ PyObject* KX_TrackToActuator::_getattr(const STR_String& attr) _getattr_up(SCA_IActuator); } -int KX_TrackToActuator::_setattr(const STR_String& attr, PyObject* value) { +int KX_TrackToActuator::_setattr(const char *attr, PyObject* value) { int ret; - if (attr == "object") { + if (!strcmp(attr, "object")) { KX_GameObject *gameobj; if (!ConvertPythonToGameObject(value, &gameobj, true)) |