diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-11-21 06:28:36 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-11-21 06:28:36 +0400 |
commit | 3fd388fb06e474a4e9e2f6816eb0a0b95ab433e7 (patch) | |
tree | 214a3ade3c842bc301aa6bedf7f3f826c873b2a6 /source/gameengine/VideoTexture/FilterBlueScreen.cpp | |
parent | 387bb73e4343be164f167565cefebbee613cdb7b (diff) |
py api cleanup, replace use...
- PyLong_FromSsize_t --> PyLong_FromLong
- PyLong_AsSsize_t --> PyLong_AsLong
In all places except for those where python api expects PySsize_t (index lookups mainly).
- use PyBool_FromLong in a few areas of the BGE.
- fix incorrect assumption in the BGE that PySequence_Check() means PySequence_Fast_ functions can be used.
Diffstat (limited to 'source/gameengine/VideoTexture/FilterBlueScreen.cpp')
-rw-r--r-- | source/gameengine/VideoTexture/FilterBlueScreen.cpp | 46 |
1 files changed, 26 insertions, 20 deletions
diff --git a/source/gameengine/VideoTexture/FilterBlueScreen.cpp b/source/gameengine/VideoTexture/FilterBlueScreen.cpp index 551694bf8c0..662ecabd283 100644 --- a/source/gameengine/VideoTexture/FilterBlueScreen.cpp +++ b/source/gameengine/VideoTexture/FilterBlueScreen.cpp @@ -87,18 +87,21 @@ static PyObject *getColor (PyFilter *self, void *closure) static int setColor (PyFilter *self, PyObject *value, void *closure) { // check validity of parameter - if (value == NULL || !PySequence_Check(value) || PySequence_Size(value) != 3 - || !PyLong_Check(PySequence_Fast_GET_ITEM(value, 0)) - || !PyLong_Check(PySequence_Fast_GET_ITEM(value, 1)) - || !PyLong_Check(PySequence_Fast_GET_ITEM(value, 2))) + if (value == NULL || + !(PyTuple_Check(value) || PyList_Check(value)) || + PySequence_Fast_GET_SIZE(value) != 3 || + !PyLong_Check(PySequence_Fast_GET_ITEM(value, 0)) || + !PyLong_Check(PySequence_Fast_GET_ITEM(value, 1)) || + !PyLong_Check(PySequence_Fast_GET_ITEM(value, 2))) { PyErr_SetString(PyExc_TypeError, "The value must be a sequence of 3 ints"); return -1; } // set color - getFilter(self)->setColor((unsigned char)(PyLong_AsSsize_t(PySequence_Fast_GET_ITEM(value, 0))), - (unsigned char)(PyLong_AsSsize_t(PySequence_Fast_GET_ITEM(value, 1))), - (unsigned char)(PyLong_AsSsize_t(PySequence_Fast_GET_ITEM(value, 2)))); + getFilter(self)->setColor( + (unsigned char)(PyLong_AsLong(PySequence_Fast_GET_ITEM(value, 0))), + (unsigned char)(PyLong_AsLong(PySequence_Fast_GET_ITEM(value, 1))), + (unsigned char)(PyLong_AsLong(PySequence_Fast_GET_ITEM(value, 2)))); // success return 0; } @@ -114,16 +117,19 @@ static PyObject *getLimits (PyFilter *self, void *closure) static int setLimits (PyFilter *self, PyObject *value, void *closure) { // check validity of parameter - if (value == NULL || !PySequence_Check(value) || PySequence_Size(value) != 2 - || !PyLong_Check(PySequence_Fast_GET_ITEM(value, 0)) - || !PyLong_Check(PySequence_Fast_GET_ITEM(value, 1))) + if (value == NULL || + !(PyTuple_Check(value) || PyList_Check(value)) || + PySequence_Fast_GET_SIZE(value) != 2 || + !PyLong_Check(PySequence_Fast_GET_ITEM(value, 0)) || + !PyLong_Check(PySequence_Fast_GET_ITEM(value, 1))) { PyErr_SetString(PyExc_TypeError, "The value must be a sequence of 2 ints"); return -1; } // set limits - getFilter(self)->setLimits((unsigned short)(PyLong_AsSsize_t(PySequence_Fast_GET_ITEM(value, 0))), - (unsigned short)(PyLong_AsSsize_t(PySequence_Fast_GET_ITEM(value, 1)))); + getFilter(self)->setLimits( + (unsigned short)(PyLong_AsLong(PySequence_Fast_GET_ITEM(value, 0))), + (unsigned short)(PyLong_AsLong(PySequence_Fast_GET_ITEM(value, 1)))); // success return 0; } @@ -163,14 +169,14 @@ PyTypeObject FilterBlueScreenType = 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT, /*tp_flags*/ "Filter for Blue Screen objects", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - NULL, /* tp_methods */ - 0, /* tp_members */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + NULL, /* tp_methods */ + 0, /* tp_members */ filterBSGetSets, /* tp_getset */ 0, /* tp_base */ 0, /* tp_dict */ |