diff options
author | Renato Filho <renato.filho@openbossa.org> | 2011-07-28 11:15:26 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-08 16:54:40 -0300 |
commit | aa091e00ef71fb309844de900dd9a8248d62af14 (patch) | |
tree | e28af4f036ca4c0da7d5f1bfb521d529d9a1b7a3 /PySide | |
parent | fe4dd9d63f8113d978e4380a9333bbe3ade5d9ec (diff) |
Fixed windows compilation.
Diffstat (limited to 'PySide')
-rw-r--r-- | PySide/QtOpenGL/typesystem_opengl.xml | 45 |
1 files changed, 28 insertions, 17 deletions
diff --git a/PySide/QtOpenGL/typesystem_opengl.xml b/PySide/QtOpenGL/typesystem_opengl.xml index 1bee27fc1..58c6c122d 100644 --- a/PySide/QtOpenGL/typesystem_opengl.xml +++ b/PySide/QtOpenGL/typesystem_opengl.xml @@ -94,28 +94,39 @@ <template name="callArrayFunction"> int _size = PySequence_Size(%PYARG_2); - %ATTR_TYPE _list[_size]; if (_size) { - Shiboken::AutoDecRef fast(PySequence_Fast(%PYARG_2, "Failed to parse sequence with type %VECTOR_TYPE.")); - for(int i=0; i < _size; i++) { - PyObject* pv = PySequence_Fast_GET_ITEM(fast.object(), i); - _list[i] = %CONVERTTOCPP[ %ATTR_TYPE ](pv); - } - } - %CPPSELF.%FUNCTION_NAME(%1, _list, %3); + %ATTR_TYPE *_list = new %ATTR_TYPE[_size]; + if (_size) { + Shiboken::AutoDecRef fast(PySequence_Fast(%PYARG_2, "Failed to parse sequence with type %VECTOR_TYPE.")); + for(int i=0; i < _size; i++) { + PyObject* pv = PySequence_Fast_GET_ITEM(fast.object(), i); + _list[i] = %CONVERTTOCPP[ %ATTR_TYPE ](pv); + } + } + %CPPSELF.%FUNCTION_NAME(%1, _list, %3); + delete[] _list; + } else { + %CPPSELF.%FUNCTION_NAME(%1, NULL, %3); + } + </template> <template name="callArrayFunctionWithCount"> int _size = PySequence_Size(%PYARG_2); - %ATTR_TYPE _list[_size]; - if (_size) { - Shiboken::AutoDecRef fast(PySequence_Fast(%PYARG_2, "Failed to parse sequence with type %VECTOR_TYPE.")); - for(int i=0; i < _size; i++) { - PyObject* pv = PySequence_Fast_GET_ITEM(fast.object(), i); - _list[i] = %CONVERTTOCPP[ %ATTR_TYPE ](pv); - } - } - %CPPSELF.%FUNCTION_NAME(%1, _list, _size); + if (size) { + %ATTR_TYPE *_list = new %ATTR_TYPE[_size]; + if (_size) { + Shiboken::AutoDecRef fast(PySequence_Fast(%PYARG_2, "Failed to parse sequence with type %VECTOR_TYPE.")); + for(int i=0; i < _size; i++) { + PyObject* pv = PySequence_Fast_GET_ITEM(fast.object(), i); + _list[i] = %CONVERTTOCPP[ %ATTR_TYPE ](pv); + } + } + %CPPSELF.%FUNCTION_NAME(%1, _list, _size); + delete[] _list; + } else { + %CPPSELF.%FUNCTION_NAME(%1, NULL, 0); + } </template> |