diff options
author | Campbell Barton <ideasman42@gmail.com> | 2014-10-28 17:41:05 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2014-10-28 17:41:05 +0300 |
commit | cb7afe5e419c1219ec3e96c580225d4603089167 (patch) | |
tree | a2932f31543283785f02efc68ca3286c1982746c /source/blender/python | |
parent | bfa24aa945ae10bbe1f954704929fbf05db800ef (diff) |
WM: unneeded alloc the operator-type iterator
Diffstat (limited to 'source/blender/python')
-rw-r--r-- | source/blender/python/intern/bpy_operator.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/source/blender/python/intern/bpy_operator.c b/source/blender/python/intern/bpy_operator.c index 1e97d7aeada..86282f251c3 100644 --- a/source/blender/python/intern/bpy_operator.c +++ b/source/blender/python/intern/bpy_operator.c @@ -367,17 +367,17 @@ static PyObject *pyop_as_string(PyObject *UNUSED(self), PyObject *args) static PyObject *pyop_dir(PyObject *UNUSED(self)) { - GHashIterator *iter = WM_operatortype_iter(); - PyObject *list = PyList_New(0), *name; + GHashIterator iter; + PyObject *list; + int i; - for ( ; !BLI_ghashIterator_done(iter); BLI_ghashIterator_step(iter)) { - wmOperatorType *ot = BLI_ghashIterator_getValue(iter); + WM_operatortype_iter(&iter); + list = PyList_New(BLI_ghash_size(iter.gh)); - name = PyUnicode_FromString(ot->idname); - PyList_Append(list, name); - Py_DECREF(name); + for (i = 0; !BLI_ghashIterator_done(&iter); BLI_ghashIterator_step(&iter), i++) { + wmOperatorType *ot = BLI_ghashIterator_getValue(&iter); + PyList_SET_ITEM(list, i, PyUnicode_FromString(ot->idname)); } - BLI_ghashIterator_free(iter); return list; } |