diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-01-04 13:20:45 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-01-04 13:23:26 +0300 |
commit | b240b8e23115fe99f47ee5b3fd66fd3796ff8a1b (patch) | |
tree | 21b3fe18c223d3453ac12ff1de5aa0083e3e8458 /source/blender/freestyle/intern/python/BPy_ViewShape.cpp | |
parent | de6b546e15523a0a4ab6da7e5beebaeb15cfa617 (diff) |
Freestyle: reserve array sizes before filling
also use PyList_GET_ITEM when list size is known.
Diffstat (limited to 'source/blender/freestyle/intern/python/BPy_ViewShape.cpp')
-rw-r--r-- | source/blender/freestyle/intern/python/BPy_ViewShape.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/source/blender/freestyle/intern/python/BPy_ViewShape.cpp b/source/blender/freestyle/intern/python/BPy_ViewShape.cpp index 10073204842..6c6e821a1e4 100644 --- a/source/blender/freestyle/intern/python/BPy_ViewShape.cpp +++ b/source/blender/freestyle/intern/python/BPy_ViewShape.cpp @@ -228,8 +228,10 @@ static int ViewShape_vertices_set(BPy_ViewShape *self, PyObject *value, void *UN PyErr_SetString(PyExc_TypeError, "value must be a list of ViewVertex objects"); return -1; } - for (int i = 0; i < PyList_Size(list); i++) { - item = PyList_GetItem(list, i); + + v.reserve(PyList_Size(list)); + for (unsigned int i = 0; i < PyList_Size(list); i++) { + item = PyList_GET_ITEM(list, i); if (BPy_ViewVertex_Check(item)) { v.push_back(((BPy_ViewVertex *)item)->vv); } @@ -270,8 +272,10 @@ static int ViewShape_edges_set(BPy_ViewShape *self, PyObject *value, void *UNUSE PyErr_SetString(PyExc_TypeError, "value must be a list of ViewEdge objects"); return -1; } + + v.reserve(PyList_Size(list)); for (int i = 0; i < PyList_Size(list); i++) { - item = PyList_GetItem(list, i); + item = PyList_GET_ITEM(list, i); if (BPy_ViewEdge_Check(item)) { v.push_back(((BPy_ViewEdge *)item)->ve); } |