Cleanup: use const variables where possible in the Python API
This commit is contained in:
@@ -228,7 +228,7 @@ static int bpy_slot_from_py(BMesh *bm,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case BMO_OP_SLOT_FLT: {
|
case BMO_OP_SLOT_FLT: {
|
||||||
float param = PyFloat_AsDouble(value);
|
const float param = PyFloat_AsDouble(value);
|
||||||
if (param == -1 && PyErr_Occurred()) {
|
if (param == -1 && PyErr_Occurred()) {
|
||||||
PyErr_Format(PyExc_TypeError,
|
PyErr_Format(PyExc_TypeError,
|
||||||
"%.200s: keyword \"%.200s\" expected a float, not %.200s",
|
"%.200s: keyword \"%.200s\" expected a float, not %.200s",
|
||||||
@@ -840,7 +840,7 @@ PyObject *BPy_BMO_call(BPy_BMeshOpFunc *self, PyObject *args, PyObject *kw)
|
|||||||
{
|
{
|
||||||
char slot_name_strip[MAX_SLOTNAME];
|
char slot_name_strip[MAX_SLOTNAME];
|
||||||
const char *ch = strchr(slot->slot_name, '.'); /* can't fail! */
|
const char *ch = strchr(slot->slot_name, '.'); /* can't fail! */
|
||||||
int tot = ch - slot->slot_name;
|
const int tot = ch - slot->slot_name;
|
||||||
BLI_assert(ch != NULL);
|
BLI_assert(ch != NULL);
|
||||||
memcpy(slot_name_strip, slot->slot_name, tot);
|
memcpy(slot_name_strip, slot->slot_name, tot);
|
||||||
slot_name_strip[tot] = '\0';
|
slot_name_strip[tot] = '\0';
|
||||||
|
|||||||
@@ -1093,7 +1093,7 @@ static PyObject *bpy_bmesh_from_object(BPy_BMesh *self, PyObject *args, PyObject
|
|||||||
bool use_deform = true;
|
bool use_deform = true;
|
||||||
bool use_cage = false;
|
bool use_cage = false;
|
||||||
bool use_fnorm = true;
|
bool use_fnorm = true;
|
||||||
CustomData_MeshMasks data_masks = CD_MASK_BMESH;
|
const CustomData_MeshMasks data_masks = CD_MASK_BMESH;
|
||||||
|
|
||||||
BPY_BM_CHECK_OBJ(self);
|
BPY_BM_CHECK_OBJ(self);
|
||||||
|
|
||||||
@@ -1346,7 +1346,7 @@ static PyObject *bpy_bmesh_transform(BPy_BMElem *self, PyObject *args, PyObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
char filter_flags_ch = (char)filter_flags;
|
const char filter_flags_ch = (char)filter_flags;
|
||||||
BM_ITER_MESH (eve, &iter, self->bm, BM_VERTS_OF_MESH) {
|
BM_ITER_MESH (eve, &iter, self->bm, BM_VERTS_OF_MESH) {
|
||||||
if (BM_elem_flag_test(eve, filter_flags_ch)) {
|
if (BM_elem_flag_test(eve, filter_flags_ch)) {
|
||||||
mul_m4_v3((float(*)[4])mat_ptr, eve->co);
|
mul_m4_v3((float(*)[4])mat_ptr, eve->co);
|
||||||
@@ -3222,7 +3222,7 @@ static PyObject *bpy_bmelemseq_subscript(BPy_BMElemSeq *self, PyObject *key)
|
|||||||
{
|
{
|
||||||
/* don't need error check here */
|
/* don't need error check here */
|
||||||
if (PyIndex_Check(key)) {
|
if (PyIndex_Check(key)) {
|
||||||
Py_ssize_t i = PyNumber_AsSsize_t(key, PyExc_IndexError);
|
const Py_ssize_t i = PyNumber_AsSsize_t(key, PyExc_IndexError);
|
||||||
if (i == -1 && PyErr_Occurred()) {
|
if (i == -1 && PyErr_Occurred()) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -3255,7 +3255,7 @@ static PyObject *bpy_bmelemseq_subscript(BPy_BMElemSeq *self, PyObject *key)
|
|||||||
|
|
||||||
if (start < 0 || stop < 0) {
|
if (start < 0 || stop < 0) {
|
||||||
/* only get the length for negative values */
|
/* only get the length for negative values */
|
||||||
Py_ssize_t len = bpy_bmelemseq_length(self);
|
const Py_ssize_t len = bpy_bmelemseq_length(self);
|
||||||
if (start < 0) {
|
if (start < 0) {
|
||||||
start += len;
|
start += len;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -714,7 +714,7 @@ static PyObject *bpy_bmlayercollection_subscript_slice(BPy_BMLayerCollection *se
|
|||||||
Py_ssize_t start,
|
Py_ssize_t start,
|
||||||
Py_ssize_t stop)
|
Py_ssize_t stop)
|
||||||
{
|
{
|
||||||
Py_ssize_t len = bpy_bmlayercollection_length(self);
|
const Py_ssize_t len = bpy_bmlayercollection_length(self);
|
||||||
int count = 0;
|
int count = 0;
|
||||||
|
|
||||||
PyObject *tuple;
|
PyObject *tuple;
|
||||||
@@ -746,7 +746,7 @@ static PyObject *bpy_bmlayercollection_subscript(BPy_BMLayerCollection *self, Py
|
|||||||
return bpy_bmlayercollection_subscript_str(self, _PyUnicode_AsString(key));
|
return bpy_bmlayercollection_subscript_str(self, _PyUnicode_AsString(key));
|
||||||
}
|
}
|
||||||
if (PyIndex_Check(key)) {
|
if (PyIndex_Check(key)) {
|
||||||
Py_ssize_t i = PyNumber_AsSsize_t(key, PyExc_IndexError);
|
const Py_ssize_t i = PyNumber_AsSsize_t(key, PyExc_IndexError);
|
||||||
if (i == -1 && PyErr_Occurred()) {
|
if (i == -1 && PyErr_Occurred()) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -779,7 +779,7 @@ static PyObject *bpy_bmlayercollection_subscript(BPy_BMLayerCollection *self, Py
|
|||||||
|
|
||||||
if (start < 0 || stop < 0) {
|
if (start < 0 || stop < 0) {
|
||||||
/* only get the length for negative values */
|
/* only get the length for negative values */
|
||||||
Py_ssize_t len = bpy_bmlayercollection_length(self);
|
const Py_ssize_t len = bpy_bmlayercollection_length(self);
|
||||||
if (start < 0) {
|
if (start < 0) {
|
||||||
start += len;
|
start += len;
|
||||||
}
|
}
|
||||||
@@ -1127,7 +1127,7 @@ int BPy_BMLayerItem_SetItem(BPy_BMElem *py_ele, BPy_BMLayerItem *py_layer, PyObj
|
|||||||
}
|
}
|
||||||
case CD_PROP_FLOAT:
|
case CD_PROP_FLOAT:
|
||||||
case CD_PAINT_MASK: {
|
case CD_PAINT_MASK: {
|
||||||
float tmp_val = PyFloat_AsDouble(py_value);
|
const float tmp_val = PyFloat_AsDouble(py_value);
|
||||||
if (UNLIKELY(tmp_val == -1 && PyErr_Occurred())) {
|
if (UNLIKELY(tmp_val == -1 && PyErr_Occurred())) {
|
||||||
PyErr_Format(
|
PyErr_Format(
|
||||||
PyExc_TypeError, "expected a float, not a %.200s", Py_TYPE(py_value)->tp_name);
|
PyExc_TypeError, "expected a float, not a %.200s", Py_TYPE(py_value)->tp_name);
|
||||||
@@ -1140,7 +1140,7 @@ int BPy_BMLayerItem_SetItem(BPy_BMElem *py_ele, BPy_BMLayerItem *py_layer, PyObj
|
|||||||
}
|
}
|
||||||
case CD_PROP_INT32:
|
case CD_PROP_INT32:
|
||||||
case CD_FACEMAP: {
|
case CD_FACEMAP: {
|
||||||
int tmp_val = PyC_Long_AsI32(py_value);
|
const int tmp_val = PyC_Long_AsI32(py_value);
|
||||||
if (UNLIKELY(tmp_val == -1 && PyErr_Occurred())) {
|
if (UNLIKELY(tmp_val == -1 && PyErr_Occurred())) {
|
||||||
/* error is set */
|
/* error is set */
|
||||||
ret = -1;
|
ret = -1;
|
||||||
@@ -1187,7 +1187,7 @@ int BPy_BMLayerItem_SetItem(BPy_BMElem *py_ele, BPy_BMLayerItem *py_layer, PyObj
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case CD_BWEIGHT: {
|
case CD_BWEIGHT: {
|
||||||
float tmp_val = PyFloat_AsDouble(py_value);
|
const float tmp_val = PyFloat_AsDouble(py_value);
|
||||||
if (UNLIKELY(tmp_val == -1 && PyErr_Occurred())) {
|
if (UNLIKELY(tmp_val == -1 && PyErr_Occurred())) {
|
||||||
PyErr_Format(
|
PyErr_Format(
|
||||||
PyExc_TypeError, "expected a float, not a %.200s", Py_TYPE(py_value)->tp_name);
|
PyExc_TypeError, "expected a float, not a %.200s", Py_TYPE(py_value)->tp_name);
|
||||||
@@ -1199,7 +1199,7 @@ int BPy_BMLayerItem_SetItem(BPy_BMElem *py_ele, BPy_BMLayerItem *py_layer, PyObj
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case CD_CREASE: {
|
case CD_CREASE: {
|
||||||
float tmp_val = PyFloat_AsDouble(py_value);
|
const float tmp_val = PyFloat_AsDouble(py_value);
|
||||||
if (UNLIKELY(tmp_val == -1 && PyErr_Occurred())) {
|
if (UNLIKELY(tmp_val == -1 && PyErr_Occurred())) {
|
||||||
PyErr_Format(
|
PyErr_Format(
|
||||||
PyExc_TypeError, "expected a float, not a %.200s", Py_TYPE(py_value)->tp_name);
|
PyExc_TypeError, "expected a float, not a %.200s", Py_TYPE(py_value)->tp_name);
|
||||||
|
|||||||
@@ -246,7 +246,7 @@ static PyObject *bpy_bmeditselseq_subscript(BPy_BMEditSelSeq *self, PyObject *ke
|
|||||||
{
|
{
|
||||||
/* don't need error check here */
|
/* don't need error check here */
|
||||||
if (PyIndex_Check(key)) {
|
if (PyIndex_Check(key)) {
|
||||||
Py_ssize_t i = PyNumber_AsSsize_t(key, PyExc_IndexError);
|
const Py_ssize_t i = PyNumber_AsSsize_t(key, PyExc_IndexError);
|
||||||
if (i == -1 && PyErr_Occurred()) {
|
if (i == -1 && PyErr_Occurred()) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -279,7 +279,7 @@ static PyObject *bpy_bmeditselseq_subscript(BPy_BMEditSelSeq *self, PyObject *ke
|
|||||||
|
|
||||||
if (start < 0 || stop < 0) {
|
if (start < 0 || stop < 0) {
|
||||||
/* only get the length for negative values */
|
/* only get the length for negative values */
|
||||||
Py_ssize_t len = bpy_bmeditselseq_length(self);
|
const Py_ssize_t len = bpy_bmeditselseq_length(self);
|
||||||
if (start < 0) {
|
if (start < 0) {
|
||||||
start += len;
|
start += len;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -461,7 +461,7 @@ int BGL_typeSize(int type)
|
|||||||
static int gl_buffer_type_from_py_buffer(Py_buffer *pybuffer)
|
static int gl_buffer_type_from_py_buffer(Py_buffer *pybuffer)
|
||||||
{
|
{
|
||||||
const char format = PyC_StructFmt_type_from_str(pybuffer->format);
|
const char format = PyC_StructFmt_type_from_str(pybuffer->format);
|
||||||
Py_ssize_t itemsize = pybuffer->itemsize;
|
const Py_ssize_t itemsize = pybuffer->itemsize;
|
||||||
|
|
||||||
if (PyC_StructFmt_type_is_float_any(format)) {
|
if (PyC_StructFmt_type_is_float_any(format)) {
|
||||||
if (itemsize == 4) {
|
if (itemsize == 4) {
|
||||||
@@ -705,7 +705,7 @@ static int BGL_BufferOrOffsetConverter(PyObject *object, BufferOrOffset *buffer)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
if (PyNumber_Check(object)) {
|
if (PyNumber_Check(object)) {
|
||||||
Py_ssize_t offset = PyNumber_AsSsize_t(object, PyExc_IndexError);
|
const Py_ssize_t offset = PyNumber_AsSsize_t(object, PyExc_IndexError);
|
||||||
if (offset == -1 && PyErr_Occurred()) {
|
if (offset == -1 && PyErr_Occurred()) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -907,7 +907,7 @@ static int Buffer_ass_item(Buffer *self, int i, PyObject *v)
|
|||||||
Buffer *row = (Buffer *)Buffer_item(self, i);
|
Buffer *row = (Buffer *)Buffer_item(self, i);
|
||||||
|
|
||||||
if (row) {
|
if (row) {
|
||||||
int ret = Buffer_ass_slice(row, 0, self->dimensions[1], v);
|
const int ret = Buffer_ass_slice(row, 0, self->dimensions[1], v);
|
||||||
Py_DECREF(row);
|
Py_DECREF(row);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -435,7 +435,7 @@ static IDProperty *idp_from_PyBytes(const char *name, PyObject *ob)
|
|||||||
|
|
||||||
static int idp_array_type_from_formatstr_and_size(const char *typestr, Py_ssize_t itemsize)
|
static int idp_array_type_from_formatstr_and_size(const char *typestr, Py_ssize_t itemsize)
|
||||||
{
|
{
|
||||||
char format = PyC_StructFmt_type_from_str(typestr);
|
const char format = PyC_StructFmt_type_from_str(typestr);
|
||||||
|
|
||||||
if (PyC_StructFmt_type_is_float_any(format)) {
|
if (PyC_StructFmt_type_is_float_any(format)) {
|
||||||
if (itemsize == 4) {
|
if (itemsize == 4) {
|
||||||
@@ -473,7 +473,7 @@ static IDProperty *idp_from_PySequence_Buffer(const char *name, Py_buffer *buffe
|
|||||||
IDProperty *prop;
|
IDProperty *prop;
|
||||||
IDPropertyTemplate val = {0};
|
IDPropertyTemplate val = {0};
|
||||||
|
|
||||||
int id_type = idp_array_type_from_formatstr_and_size(buffer->format, buffer->itemsize);
|
const int id_type = idp_array_type_from_formatstr_and_size(buffer->format, buffer->itemsize);
|
||||||
if (id_type == -1) {
|
if (id_type == -1) {
|
||||||
/* should never happen as the type has been checked before */
|
/* should never happen as the type has been checked before */
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -560,7 +560,7 @@ static IDProperty *idp_from_PySequence(const char *name, PyObject *ob)
|
|||||||
|
|
||||||
if (PyObject_CheckBuffer(ob)) {
|
if (PyObject_CheckBuffer(ob)) {
|
||||||
PyObject_GetBuffer(ob, &buffer, PyBUF_SIMPLE | PyBUF_FORMAT);
|
PyObject_GetBuffer(ob, &buffer, PyBUF_SIMPLE | PyBUF_FORMAT);
|
||||||
char format = PyC_StructFmt_type_from_str(buffer.format);
|
const char format = PyC_StructFmt_type_from_str(buffer.format);
|
||||||
if (PyC_StructFmt_type_is_float_any(format) ||
|
if (PyC_StructFmt_type_is_float_any(format) ||
|
||||||
(PyC_StructFmt_type_is_int_any(format) && buffer.itemsize == 4)) {
|
(PyC_StructFmt_type_is_int_any(format) && buffer.itemsize == 4)) {
|
||||||
use_buffer = true;
|
use_buffer = true;
|
||||||
@@ -589,7 +589,7 @@ static IDProperty *idp_from_PySequence(const char *name, PyObject *ob)
|
|||||||
static IDProperty *idp_from_PyMapping(const char *name, PyObject *ob)
|
static IDProperty *idp_from_PyMapping(const char *name, PyObject *ob)
|
||||||
{
|
{
|
||||||
IDProperty *prop;
|
IDProperty *prop;
|
||||||
IDPropertyTemplate val = {0};
|
const IDPropertyTemplate val = {0};
|
||||||
|
|
||||||
PyObject *keys, *vals, *key, *pval;
|
PyObject *keys, *vals, *key, *pval;
|
||||||
int i, len;
|
int i, len;
|
||||||
@@ -1559,8 +1559,8 @@ static int itemsize_by_idarray_type(int array_type)
|
|||||||
static int BPy_IDArray_getbuffer(BPy_IDArray *self, Py_buffer *view, int flags)
|
static int BPy_IDArray_getbuffer(BPy_IDArray *self, Py_buffer *view, int flags)
|
||||||
{
|
{
|
||||||
IDProperty *prop = self->prop;
|
IDProperty *prop = self->prop;
|
||||||
int itemsize = itemsize_by_idarray_type(prop->subtype);
|
const int itemsize = itemsize_by_idarray_type(prop->subtype);
|
||||||
int length = itemsize * prop->len;
|
const int length = itemsize * prop->len;
|
||||||
|
|
||||||
if (PyBuffer_FillInfo(view, (PyObject *)self, IDP_Array(prop), length, false, flags) == -1) {
|
if (PyBuffer_FillInfo(view, (PyObject *)self, IDP_Array(prop), length, false, flags) == -1) {
|
||||||
return -1;
|
return -1;
|
||||||
|
|||||||
@@ -260,7 +260,7 @@ static int py_imbuf_filepath_set(Py_ImBuf *self, PyObject *value, void *UNUSED(c
|
|||||||
}
|
}
|
||||||
|
|
||||||
ImBuf *ibuf = self->ibuf;
|
ImBuf *ibuf = self->ibuf;
|
||||||
Py_ssize_t value_str_len_max = sizeof(ibuf->name);
|
const Py_ssize_t value_str_len_max = sizeof(ibuf->name);
|
||||||
Py_ssize_t value_str_len;
|
Py_ssize_t value_str_len;
|
||||||
const char *value_str = _PyUnicode_AsStringAndSize(value, &value_str_len);
|
const char *value_str = _PyUnicode_AsStringAndSize(value, &value_str_len);
|
||||||
if (value_str_len >= value_str_len_max) {
|
if (value_str_len >= value_str_len_max) {
|
||||||
@@ -425,8 +425,8 @@ static PyObject *M_imbuf_new(PyObject *UNUSED(self), PyObject *args, PyObject *k
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* TODO, make options */
|
/* TODO, make options */
|
||||||
uchar planes = 4;
|
const uchar planes = 4;
|
||||||
uint flags = IB_rect;
|
const uint flags = IB_rect;
|
||||||
|
|
||||||
ImBuf *ibuf = IMB_allocImBuf(UNPACK2(size), planes, flags);
|
ImBuf *ibuf = IMB_allocImBuf(UNPACK2(size), planes, flags);
|
||||||
if (ibuf == NULL) {
|
if (ibuf == NULL) {
|
||||||
@@ -500,7 +500,7 @@ static PyObject *M_imbuf_write(PyObject *UNUSED(self), PyObject *args, PyObject
|
|||||||
filepath = py_imb->ibuf->name;
|
filepath = py_imb->ibuf->name;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ok = IMB_saveiff(py_imb->ibuf, filepath, IB_rect);
|
const bool ok = IMB_saveiff(py_imb->ibuf, filepath, IB_rect);
|
||||||
if (ok == false) {
|
if (ok == false) {
|
||||||
PyErr_Format(
|
PyErr_Format(
|
||||||
PyExc_IOError, "write: Unable to write image file (%s) '%s'", strerror(errno), filepath);
|
PyExc_IOError, "write: Unable to write image file (%s) '%s'", strerror(errno), filepath);
|
||||||
|
|||||||
@@ -207,7 +207,7 @@ PyObject *PyC_Tuple_PackArray_Bool(const bool *array, uint len)
|
|||||||
*/
|
*/
|
||||||
void PyC_Tuple_Fill(PyObject *tuple, PyObject *value)
|
void PyC_Tuple_Fill(PyObject *tuple, PyObject *value)
|
||||||
{
|
{
|
||||||
uint tot = PyTuple_GET_SIZE(tuple);
|
const uint tot = PyTuple_GET_SIZE(tuple);
|
||||||
uint i;
|
uint i;
|
||||||
|
|
||||||
for (i = 0; i < tot; i++) {
|
for (i = 0; i < tot; i++) {
|
||||||
@@ -218,7 +218,7 @@ void PyC_Tuple_Fill(PyObject *tuple, PyObject *value)
|
|||||||
|
|
||||||
void PyC_List_Fill(PyObject *list, PyObject *value)
|
void PyC_List_Fill(PyObject *list, PyObject *value)
|
||||||
{
|
{
|
||||||
uint tot = PyList_GET_SIZE(list);
|
const uint tot = PyList_GET_SIZE(list);
|
||||||
uint i;
|
uint i;
|
||||||
|
|
||||||
for (i = 0; i < tot; i++) {
|
for (i = 0; i < tot; i++) {
|
||||||
@@ -377,7 +377,7 @@ void PyC_StackSpit(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* lame but handy */
|
/* lame but handy */
|
||||||
PyGILState_STATE gilstate = PyGILState_Ensure();
|
const PyGILState_STATE gilstate = PyGILState_Ensure();
|
||||||
PyRun_SimpleString("__import__('traceback').print_stack()");
|
PyRun_SimpleString("__import__('traceback').print_stack()");
|
||||||
PyGILState_Release(gilstate);
|
PyGILState_Release(gilstate);
|
||||||
}
|
}
|
||||||
@@ -948,7 +948,7 @@ void PyC_RunQuicky(const char *filepath, int n, ...)
|
|||||||
FILE *fp = fopen(filepath, "r");
|
FILE *fp = fopen(filepath, "r");
|
||||||
|
|
||||||
if (fp) {
|
if (fp) {
|
||||||
PyGILState_STATE gilstate = PyGILState_Ensure();
|
const PyGILState_STATE gilstate = PyGILState_Ensure();
|
||||||
|
|
||||||
va_list vargs;
|
va_list vargs;
|
||||||
|
|
||||||
@@ -1423,7 +1423,7 @@ bool PyC_RunString_AsString(const char *imports[],
|
|||||||
*/
|
*/
|
||||||
int PyC_Long_AsBool(PyObject *value)
|
int PyC_Long_AsBool(PyObject *value)
|
||||||
{
|
{
|
||||||
int test = _PyLong_AsInt(value);
|
const int test = _PyLong_AsInt(value);
|
||||||
if (UNLIKELY((uint)test > 1)) {
|
if (UNLIKELY((uint)test > 1)) {
|
||||||
PyErr_SetString(PyExc_TypeError, "Python number not a bool (0/1)");
|
PyErr_SetString(PyExc_TypeError, "Python number not a bool (0/1)");
|
||||||
return -1;
|
return -1;
|
||||||
@@ -1433,7 +1433,7 @@ int PyC_Long_AsBool(PyObject *value)
|
|||||||
|
|
||||||
int8_t PyC_Long_AsI8(PyObject *value)
|
int8_t PyC_Long_AsI8(PyObject *value)
|
||||||
{
|
{
|
||||||
int test = _PyLong_AsInt(value);
|
const int test = _PyLong_AsInt(value);
|
||||||
if (UNLIKELY(test < INT8_MIN || test > INT8_MAX)) {
|
if (UNLIKELY(test < INT8_MIN || test > INT8_MAX)) {
|
||||||
PyErr_SetString(PyExc_OverflowError, "Python int too large to convert to C int8");
|
PyErr_SetString(PyExc_OverflowError, "Python int too large to convert to C int8");
|
||||||
return -1;
|
return -1;
|
||||||
@@ -1443,7 +1443,7 @@ int8_t PyC_Long_AsI8(PyObject *value)
|
|||||||
|
|
||||||
int16_t PyC_Long_AsI16(PyObject *value)
|
int16_t PyC_Long_AsI16(PyObject *value)
|
||||||
{
|
{
|
||||||
int test = _PyLong_AsInt(value);
|
const int test = _PyLong_AsInt(value);
|
||||||
if (UNLIKELY(test < INT16_MIN || test > INT16_MAX)) {
|
if (UNLIKELY(test < INT16_MIN || test > INT16_MAX)) {
|
||||||
PyErr_SetString(PyExc_OverflowError, "Python int too large to convert to C int16");
|
PyErr_SetString(PyExc_OverflowError, "Python int too large to convert to C int16");
|
||||||
return -1;
|
return -1;
|
||||||
@@ -1458,7 +1458,7 @@ int16_t PyC_Long_AsI16(PyObject *value)
|
|||||||
|
|
||||||
uint8_t PyC_Long_AsU8(PyObject *value)
|
uint8_t PyC_Long_AsU8(PyObject *value)
|
||||||
{
|
{
|
||||||
ulong test = PyLong_AsUnsignedLong(value);
|
const ulong test = PyLong_AsUnsignedLong(value);
|
||||||
if (UNLIKELY(test > UINT8_MAX)) {
|
if (UNLIKELY(test > UINT8_MAX)) {
|
||||||
PyErr_SetString(PyExc_OverflowError, "Python int too large to convert to C uint8");
|
PyErr_SetString(PyExc_OverflowError, "Python int too large to convert to C uint8");
|
||||||
return (uint8_t)-1;
|
return (uint8_t)-1;
|
||||||
@@ -1468,7 +1468,7 @@ uint8_t PyC_Long_AsU8(PyObject *value)
|
|||||||
|
|
||||||
uint16_t PyC_Long_AsU16(PyObject *value)
|
uint16_t PyC_Long_AsU16(PyObject *value)
|
||||||
{
|
{
|
||||||
ulong test = PyLong_AsUnsignedLong(value);
|
const ulong test = PyLong_AsUnsignedLong(value);
|
||||||
if (UNLIKELY(test > UINT16_MAX)) {
|
if (UNLIKELY(test > UINT16_MAX)) {
|
||||||
PyErr_SetString(PyExc_OverflowError, "Python int too large to convert to C uint16");
|
PyErr_SetString(PyExc_OverflowError, "Python int too large to convert to C uint16");
|
||||||
return (uint16_t)-1;
|
return (uint16_t)-1;
|
||||||
@@ -1478,7 +1478,7 @@ uint16_t PyC_Long_AsU16(PyObject *value)
|
|||||||
|
|
||||||
uint32_t PyC_Long_AsU32(PyObject *value)
|
uint32_t PyC_Long_AsU32(PyObject *value)
|
||||||
{
|
{
|
||||||
ulong test = PyLong_AsUnsignedLong(value);
|
const ulong test = PyLong_AsUnsignedLong(value);
|
||||||
if (UNLIKELY(test > UINT32_MAX)) {
|
if (UNLIKELY(test > UINT32_MAX)) {
|
||||||
PyErr_SetString(PyExc_OverflowError, "Python int too large to convert to C uint32");
|
PyErr_SetString(PyExc_OverflowError, "Python int too large to convert to C uint32");
|
||||||
return (uint32_t)-1;
|
return (uint32_t)-1;
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ static int bpygpu_uniform_location_get(GPUShader *shader,
|
|||||||
const char *name,
|
const char *name,
|
||||||
const char *error_prefix)
|
const char *error_prefix)
|
||||||
{
|
{
|
||||||
int uniform = GPU_shader_get_uniform(shader, name);
|
const int uniform = GPU_shader_get_uniform(shader, name);
|
||||||
|
|
||||||
if (uniform == -1) {
|
if (uniform == -1) {
|
||||||
PyErr_Format(PyExc_ValueError, "%s: uniform %.32s not found", error_prefix, name);
|
PyErr_Format(PyExc_ValueError, "%s: uniform %.32s not found", error_prefix, name);
|
||||||
@@ -158,7 +158,7 @@ static PyObject *bpygpu_shader_uniform_from_name(BPyGPUShader *self, PyObject *a
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
int uniform = bpygpu_uniform_location_get(self->shader, name, "GPUShader.get_uniform");
|
const int uniform = bpygpu_uniform_location_get(self->shader, name, "GPUShader.get_uniform");
|
||||||
|
|
||||||
if (uniform == -1) {
|
if (uniform == -1) {
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -184,7 +184,7 @@ static PyObject *bpygpu_shader_uniform_block_from_name(BPyGPUShader *self, PyObj
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
int uniform = GPU_shader_get_uniform_block(self->shader, name);
|
const int uniform = GPU_shader_get_uniform_block(self->shader, name);
|
||||||
|
|
||||||
if (uniform == -1) {
|
if (uniform == -1) {
|
||||||
PyErr_Format(PyExc_ValueError, "GPUShader.get_uniform_block: uniform %.32s not found", name);
|
PyErr_Format(PyExc_ValueError, "GPUShader.get_uniform_block: uniform %.32s not found", name);
|
||||||
@@ -504,7 +504,7 @@ static PyObject *bpygpu_shader_attr_from_name(BPyGPUShader *self, PyObject *arg)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
int attr = GPU_shader_get_attribute(self->shader, name);
|
const int attr = GPU_shader_get_attribute(self->shader, name);
|
||||||
|
|
||||||
if (attr == -1) {
|
if (attr == -1) {
|
||||||
PyErr_Format(PyExc_ValueError, "GPUShader.attr_from_name: attribute %.32s not found", name);
|
PyErr_Format(PyExc_ValueError, "GPUShader.attr_from_name: attribute %.32s not found", name);
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ static bool bpygpu_vertbuf_fill_impl(GPUVertBuf *vbo,
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint comp_len = pybuffer.ndim == 1 ? 1 : (uint)pybuffer.shape[1];
|
const uint comp_len = pybuffer.ndim == 1 ? 1 : (uint)pybuffer.shape[1];
|
||||||
|
|
||||||
if (pybuffer.shape[0] != vbo->vertex_len) {
|
if (pybuffer.shape[0] != vbo->vertex_len) {
|
||||||
PyErr_Format(
|
PyErr_Format(
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ static int bpygpu_ParseVertCompType(PyObject *o, void *p)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int comp_type = bpygpu_parse_component_type(str, length);
|
const int comp_type = bpygpu_parse_component_type(str, length);
|
||||||
if (comp_type == -1) {
|
if (comp_type == -1) {
|
||||||
PyErr_Format(PyExc_ValueError, "unknown component type: '%s", str);
|
PyErr_Format(PyExc_ValueError, "unknown component type: '%s", str);
|
||||||
return 0;
|
return 0;
|
||||||
@@ -132,7 +132,7 @@ static int bpygpu_ParseVertFetchMode(PyObject *o, void *p)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int fetch_mode = bpygpu_parse_fetch_mode(str, length);
|
const int fetch_mode = bpygpu_parse_fetch_mode(str, length);
|
||||||
if (fetch_mode == -1) {
|
if (fetch_mode == -1) {
|
||||||
PyErr_Format(PyExc_ValueError, "unknown type literal: '%s'", str);
|
PyErr_Format(PyExc_ValueError, "unknown type literal: '%s'", str);
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -343,7 +343,7 @@ static PyObject *bpy_app_debug_value_get(PyObject *UNUSED(self), void *UNUSED(cl
|
|||||||
|
|
||||||
static int bpy_app_debug_value_set(PyObject *UNUSED(self), PyObject *value, void *UNUSED(closure))
|
static int bpy_app_debug_value_set(PyObject *UNUSED(self), PyObject *value, void *UNUSED(closure))
|
||||||
{
|
{
|
||||||
short param = PyC_Long_AsI16(value);
|
const short param = PyC_Long_AsI16(value);
|
||||||
|
|
||||||
if (param == -1 && PyErr_Occurred()) {
|
if (param == -1 && PyErr_Occurred()) {
|
||||||
PyC_Err_SetString_Prefix(PyExc_TypeError,
|
PyC_Err_SetString_Prefix(PyExc_TypeError,
|
||||||
|
|||||||
@@ -318,7 +318,7 @@ void bpy_app_generic_callback(struct Main *UNUSED(main),
|
|||||||
{
|
{
|
||||||
PyObject *cb_list = py_cb_array[POINTER_AS_INT(arg)];
|
PyObject *cb_list = py_cb_array[POINTER_AS_INT(arg)];
|
||||||
if (PyList_GET_SIZE(cb_list) > 0) {
|
if (PyList_GET_SIZE(cb_list) > 0) {
|
||||||
PyGILState_STATE gilstate = PyGILState_Ensure();
|
const PyGILState_STATE gilstate = PyGILState_Ensure();
|
||||||
|
|
||||||
const int num_arguments = 2;
|
const int num_arguments = 2;
|
||||||
PyObject *args_all = PyTuple_New(num_arguments); /* save python creating each call */
|
PyObject *args_all = PyTuple_New(num_arguments); /* save python creating each call */
|
||||||
|
|||||||
@@ -71,8 +71,8 @@ static PyObject *bpy_app_icons_new_triangles(PyObject *UNUSED(self), PyObject *a
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
int coords_size = sizeof(uchar[2]) * tris_len * 3;
|
const int coords_size = sizeof(uchar[2]) * tris_len * 3;
|
||||||
int colors_size = sizeof(uchar[4]) * tris_len * 3;
|
const int colors_size = sizeof(uchar[4]) * tris_len * 3;
|
||||||
uchar(*coords)[2] = MEM_mallocN(coords_size, __func__);
|
uchar(*coords)[2] = MEM_mallocN(coords_size, __func__);
|
||||||
uchar(*colors)[4] = MEM_mallocN(colors_size, __func__);
|
uchar(*colors)[4] = MEM_mallocN(colors_size, __func__);
|
||||||
|
|
||||||
@@ -86,7 +86,7 @@ static PyObject *bpy_app_icons_new_triangles(PyObject *UNUSED(self), PyObject *a
|
|||||||
geom->coords = coords;
|
geom->coords = coords;
|
||||||
geom->colors = colors;
|
geom->colors = colors;
|
||||||
geom->icon_id = 0;
|
geom->icon_id = 0;
|
||||||
int icon_id = BKE_icon_geom_ensure(geom);
|
const int icon_id = BKE_icon_geom_ensure(geom);
|
||||||
return PyLong_FromLong(icon_id);
|
return PyLong_FromLong(icon_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -117,7 +117,7 @@ static PyObject *bpy_app_icons_new_triangles_from_file(PyObject *UNUSED(self),
|
|||||||
PyErr_SetString(PyExc_ValueError, "Unable to load from file");
|
PyErr_SetString(PyExc_ValueError, "Unable to load from file");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
int icon_id = BKE_icon_geom_ensure(geom);
|
const int icon_id = BKE_icon_geom_ensure(geom);
|
||||||
return PyLong_FromLong(icon_id);
|
return PyLong_FromLong(icon_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ static PyObject *make_opensubdiv_info(void)
|
|||||||
#define SetObjItem(obj) PyStructSequence_SET_ITEM(opensubdiv_info, pos++, obj)
|
#define SetObjItem(obj) PyStructSequence_SET_ITEM(opensubdiv_info, pos++, obj)
|
||||||
|
|
||||||
#ifdef WITH_OPENSUBDIV
|
#ifdef WITH_OPENSUBDIV
|
||||||
int curversion = openSubdiv_getVersionHex();
|
const int curversion = openSubdiv_getVersionHex();
|
||||||
SetObjItem(PyBool_FromLong(1));
|
SetObjItem(PyBool_FromLong(1));
|
||||||
SetObjItem(PyC_Tuple_Pack_I32(curversion / 10000, (curversion / 100) % 100, curversion % 100));
|
SetObjItem(PyC_Tuple_Pack_I32(curversion / 10000, (curversion / 100) % 100, curversion % 100));
|
||||||
SetObjItem(PyUnicode_FromFormat(
|
SetObjItem(PyUnicode_FromFormat(
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ static double py_timer_execute(uintptr_t UNUSED(uuid), void *user_data)
|
|||||||
gilstate = PyGILState_Ensure();
|
gilstate = PyGILState_Ensure();
|
||||||
|
|
||||||
PyObject *py_ret = PyObject_CallObject(function, NULL);
|
PyObject *py_ret = PyObject_CallObject(function, NULL);
|
||||||
double ret = handle_returned_value(function, py_ret);
|
const double ret = handle_returned_value(function, py_ret);
|
||||||
|
|
||||||
PyGILState_Release(gilstate);
|
PyGILState_Release(gilstate);
|
||||||
|
|
||||||
@@ -151,7 +151,7 @@ PyDoc_STRVAR(bpy_app_timers_is_registered_doc,
|
|||||||
" :rtype: bool\n");
|
" :rtype: bool\n");
|
||||||
static PyObject *bpy_app_timers_is_registered(PyObject *UNUSED(self), PyObject *function)
|
static PyObject *bpy_app_timers_is_registered(PyObject *UNUSED(self), PyObject *function)
|
||||||
{
|
{
|
||||||
bool ret = BLI_timer_is_registered((intptr_t)function);
|
const bool ret = BLI_timer_is_registered((intptr_t)function);
|
||||||
return PyBool_FromLong(ret);
|
return PyBool_FromLong(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ static GHashKey *_ghashutil_keyalloc(const void *msgctxt, const void *msgid)
|
|||||||
static uint _ghashutil_keyhash(const void *ptr)
|
static uint _ghashutil_keyhash(const void *ptr)
|
||||||
{
|
{
|
||||||
const GHashKey *key = ptr;
|
const GHashKey *key = ptr;
|
||||||
uint hash = BLI_ghashutil_strhash(key->msgctxt);
|
const uint hash = BLI_ghashutil_strhash(key->msgctxt);
|
||||||
return hash ^ BLI_ghashutil_strhash(key->msgid);
|
return hash ^ BLI_ghashutil_strhash(key->msgid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -228,7 +228,7 @@ static void bpy_pydriver_namespace_clear_self(void)
|
|||||||
void BPY_driver_reset(void)
|
void BPY_driver_reset(void)
|
||||||
{
|
{
|
||||||
PyGILState_STATE gilstate;
|
PyGILState_STATE gilstate;
|
||||||
bool use_gil = true; /* !PyC_IsInterpreterActive(); */
|
const bool use_gil = true; /* !PyC_IsInterpreterActive(); */
|
||||||
|
|
||||||
if (use_gil) {
|
if (use_gil) {
|
||||||
gilstate = PyGILState_Ensure();
|
gilstate = PyGILState_Ensure();
|
||||||
@@ -594,7 +594,7 @@ float BPY_driver_exec(struct PathResolvedRNA *anim_rna,
|
|||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
/* try to get variable value */
|
/* try to get variable value */
|
||||||
float tval = driver_get_variable_value(driver, dvar);
|
const float tval = driver_get_variable_value(driver, dvar);
|
||||||
driver_arg = PyFloat_FromDouble((double)tval);
|
driver_arg = PyFloat_FromDouble((double)tval);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -169,7 +169,7 @@ void BPY_text_free_code(Text *text)
|
|||||||
{
|
{
|
||||||
if (text->compiled) {
|
if (text->compiled) {
|
||||||
PyGILState_STATE gilstate;
|
PyGILState_STATE gilstate;
|
||||||
bool use_gil = !PyC_IsInterpreterActive();
|
const bool use_gil = !PyC_IsInterpreterActive();
|
||||||
|
|
||||||
if (use_gil) {
|
if (use_gil) {
|
||||||
gilstate = PyGILState_Ensure();
|
gilstate = PyGILState_Ensure();
|
||||||
@@ -446,14 +446,14 @@ void BPY_python_backtrace(FILE *fp)
|
|||||||
|
|
||||||
void BPY_DECREF(void *pyob_ptr)
|
void BPY_DECREF(void *pyob_ptr)
|
||||||
{
|
{
|
||||||
PyGILState_STATE gilstate = PyGILState_Ensure();
|
const PyGILState_STATE gilstate = PyGILState_Ensure();
|
||||||
Py_DECREF((PyObject *)pyob_ptr);
|
Py_DECREF((PyObject *)pyob_ptr);
|
||||||
PyGILState_Release(gilstate);
|
PyGILState_Release(gilstate);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BPY_DECREF_RNA_INVALIDATE(void *pyob_ptr)
|
void BPY_DECREF_RNA_INVALIDATE(void *pyob_ptr)
|
||||||
{
|
{
|
||||||
PyGILState_STATE gilstate = PyGILState_Ensure();
|
const PyGILState_STATE gilstate = PyGILState_Ensure();
|
||||||
const int do_invalidate = (Py_REFCNT((PyObject *)pyob_ptr) > 1);
|
const int do_invalidate = (Py_REFCNT((PyObject *)pyob_ptr) > 1);
|
||||||
Py_DECREF((PyObject *)pyob_ptr);
|
Py_DECREF((PyObject *)pyob_ptr);
|
||||||
if (do_invalidate) {
|
if (do_invalidate) {
|
||||||
@@ -509,7 +509,7 @@ void BPY_modules_load_user(bContext *C)
|
|||||||
int BPY_context_member_get(bContext *C, const char *member, bContextDataResult *result)
|
int BPY_context_member_get(bContext *C, const char *member, bContextDataResult *result)
|
||||||
{
|
{
|
||||||
PyGILState_STATE gilstate;
|
PyGILState_STATE gilstate;
|
||||||
bool use_gil = !PyC_IsInterpreterActive();
|
const bool use_gil = !PyC_IsInterpreterActive();
|
||||||
|
|
||||||
PyObject *pyctx;
|
PyObject *pyctx;
|
||||||
PyObject *item;
|
PyObject *item;
|
||||||
@@ -544,7 +544,7 @@ int BPY_context_member_get(bContext *C, const char *member, bContextDataResult *
|
|||||||
PyErr_Clear();
|
PyErr_Clear();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
int len = PySequence_Fast_GET_SIZE(seq_fast);
|
const int len = PySequence_Fast_GET_SIZE(seq_fast);
|
||||||
PyObject **seq_fast_items = PySequence_Fast_ITEMS(seq_fast);
|
PyObject **seq_fast_items = PySequence_Fast_ITEMS(seq_fast);
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
|||||||
@@ -321,7 +321,7 @@ static PyObject *bpy_lib_exit(BPy_Library *self, PyObject *UNUSED(args))
|
|||||||
{
|
{
|
||||||
Main *bmain = CTX_data_main(BPy_GetContext());
|
Main *bmain = CTX_data_main(BPy_GetContext());
|
||||||
Main *mainl = NULL;
|
Main *mainl = NULL;
|
||||||
int err = 0;
|
const int err = 0;
|
||||||
const bool do_append = ((self->flag & FILE_LINK) == 0);
|
const bool do_append = ((self->flag & FILE_LINK) == 0);
|
||||||
|
|
||||||
BKE_main_id_tag_all(bmain, LIB_TAG_PRE_EXISTING, true);
|
BKE_main_id_tag_all(bmain, LIB_TAG_PRE_EXISTING, true);
|
||||||
@@ -338,7 +338,7 @@ static PyObject *bpy_lib_exit(BPy_Library *self, PyObject *UNUSED(args))
|
|||||||
// printf("lib: %s\n", name_plural);
|
// printf("lib: %s\n", name_plural);
|
||||||
if (ls && PyList_Check(ls)) {
|
if (ls && PyList_Check(ls)) {
|
||||||
/* loop */
|
/* loop */
|
||||||
Py_ssize_t size = PyList_GET_SIZE(ls);
|
const Py_ssize_t size = PyList_GET_SIZE(ls);
|
||||||
Py_ssize_t i;
|
Py_ssize_t i;
|
||||||
|
|
||||||
for (i = 0; i < size; i++) {
|
for (i = 0; i < size; i++) {
|
||||||
@@ -423,7 +423,7 @@ static PyObject *bpy_lib_exit(BPy_Library *self, PyObject *UNUSED(args))
|
|||||||
const char *name_plural = BKE_idtype_idcode_to_name_plural(idcode);
|
const char *name_plural = BKE_idtype_idcode_to_name_plural(idcode);
|
||||||
PyObject *ls = PyDict_GetItemString(self->dict, name_plural);
|
PyObject *ls = PyDict_GetItemString(self->dict, name_plural);
|
||||||
if (ls && PyList_Check(ls)) {
|
if (ls && PyList_Check(ls)) {
|
||||||
Py_ssize_t size = PyList_GET_SIZE(ls);
|
const Py_ssize_t size = PyList_GET_SIZE(ls);
|
||||||
Py_ssize_t i;
|
Py_ssize_t i;
|
||||||
PyObject *item;
|
PyObject *item;
|
||||||
|
|
||||||
|
|||||||
@@ -192,7 +192,7 @@ static void bpy_msgbus_notify(bContext *C,
|
|||||||
static void bpy_msgbus_subscribe_value_free_data(struct wmMsgSubscribeKey *UNUSED(msg_key),
|
static void bpy_msgbus_subscribe_value_free_data(struct wmMsgSubscribeKey *UNUSED(msg_key),
|
||||||
struct wmMsgSubscribeValue *msg_val)
|
struct wmMsgSubscribeValue *msg_val)
|
||||||
{
|
{
|
||||||
PyGILState_STATE gilstate = PyGILState_Ensure();
|
const PyGILState_STATE gilstate = PyGILState_Ensure();
|
||||||
Py_DECREF(msg_val->owner);
|
Py_DECREF(msg_val->owner);
|
||||||
Py_DECREF(msg_val->user_data);
|
Py_DECREF(msg_val->user_data);
|
||||||
PyGILState_Release(gilstate);
|
PyGILState_Release(gilstate);
|
||||||
|
|||||||
@@ -351,7 +351,7 @@ static bool bpy_prop_boolean_get_cb(struct PointerRNA *ptr, struct PropertyRNA *
|
|||||||
value = false;
|
value = false;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
int value_i = PyC_Long_AsBool(ret);
|
const int value_i = PyC_Long_AsBool(ret);
|
||||||
|
|
||||||
if (value_i == -1 && PyErr_Occurred()) {
|
if (value_i == -1 && PyErr_Occurred()) {
|
||||||
PyC_Err_PrintWithFunc(py_func);
|
PyC_Err_PrintWithFunc(py_func);
|
||||||
@@ -443,7 +443,7 @@ static bool bpy_prop_poll_cb(struct PointerRNA *self,
|
|||||||
PyObject *ret;
|
PyObject *ret;
|
||||||
bool result;
|
bool result;
|
||||||
const int is_write_ok = pyrna_write_check();
|
const int is_write_ok = pyrna_write_check();
|
||||||
PyGILState_STATE gilstate = PyGILState_Ensure();
|
const PyGILState_STATE gilstate = PyGILState_Ensure();
|
||||||
|
|
||||||
BLI_assert(self != NULL);
|
BLI_assert(self != NULL);
|
||||||
|
|
||||||
@@ -560,7 +560,7 @@ static void bpy_prop_boolean_array_set_cb(struct PointerRNA *ptr,
|
|||||||
PyGILState_STATE gilstate;
|
PyGILState_STATE gilstate;
|
||||||
bool use_gil;
|
bool use_gil;
|
||||||
const bool is_write_ok = pyrna_write_check();
|
const bool is_write_ok = pyrna_write_check();
|
||||||
int len = RNA_property_array_length(ptr, prop);
|
const int len = RNA_property_array_length(ptr, prop);
|
||||||
|
|
||||||
BLI_assert(py_data != NULL);
|
BLI_assert(py_data != NULL);
|
||||||
|
|
||||||
@@ -804,7 +804,7 @@ static void bpy_prop_int_array_set_cb(struct PointerRNA *ptr,
|
|||||||
PyGILState_STATE gilstate;
|
PyGILState_STATE gilstate;
|
||||||
bool use_gil;
|
bool use_gil;
|
||||||
const bool is_write_ok = pyrna_write_check();
|
const bool is_write_ok = pyrna_write_check();
|
||||||
int len = RNA_property_array_length(ptr, prop);
|
const int len = RNA_property_array_length(ptr, prop);
|
||||||
|
|
||||||
BLI_assert(py_data != NULL);
|
BLI_assert(py_data != NULL);
|
||||||
|
|
||||||
@@ -1048,7 +1048,7 @@ static void bpy_prop_float_array_set_cb(struct PointerRNA *ptr,
|
|||||||
PyGILState_STATE gilstate;
|
PyGILState_STATE gilstate;
|
||||||
bool use_gil;
|
bool use_gil;
|
||||||
const bool is_write_ok = pyrna_write_check();
|
const bool is_write_ok = pyrna_write_check();
|
||||||
int len = RNA_property_array_length(ptr, prop);
|
const int len = RNA_property_array_length(ptr, prop);
|
||||||
|
|
||||||
BLI_assert(py_data != NULL);
|
BLI_assert(py_data != NULL);
|
||||||
|
|
||||||
|
|||||||
@@ -464,7 +464,7 @@ static int mathutils_rna_vector_set(BaseMathObject *bmo, int subtype)
|
|||||||
if (subtype == MATHUTILS_CB_SUBTYPE_EUL) {
|
if (subtype == MATHUTILS_CB_SUBTYPE_EUL) {
|
||||||
EulerObject *eul = (EulerObject *)bmo;
|
EulerObject *eul = (EulerObject *)bmo;
|
||||||
PropertyRNA *prop_eul_order = NULL;
|
PropertyRNA *prop_eul_order = NULL;
|
||||||
short order = pyrna_rotation_euler_order_get(&self->ptr, eul->order, &prop_eul_order);
|
const short order = pyrna_rotation_euler_order_get(&self->ptr, eul->order, &prop_eul_order);
|
||||||
if (order != eul->order) {
|
if (order != eul->order) {
|
||||||
RNA_property_enum_set(&self->ptr, prop_eul_order, eul->order);
|
RNA_property_enum_set(&self->ptr, prop_eul_order, eul->order);
|
||||||
if (RNA_property_update_check(prop_eul_order)) {
|
if (RNA_property_update_check(prop_eul_order)) {
|
||||||
@@ -599,7 +599,7 @@ static short pyrna_rotation_euler_order_get(PointerRNA *ptr,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (*r_prop_eul_order) {
|
if (*r_prop_eul_order) {
|
||||||
short order = RNA_property_enum_get(ptr, *r_prop_eul_order);
|
const short order = RNA_property_enum_get(ptr, *r_prop_eul_order);
|
||||||
/* Could be quat or axisangle. */
|
/* Could be quat or axisangle. */
|
||||||
if (order >= EULER_ORDER_XYZ && order <= EULER_ORDER_ZYX) {
|
if (order >= EULER_ORDER_XYZ && order <= EULER_ORDER_ZYX) {
|
||||||
return order;
|
return order;
|
||||||
@@ -714,7 +714,8 @@ PyObject *pyrna_math_object_from_array(PointerRNA *ptr, PropertyRNA *prop)
|
|||||||
/* Attempt to get order,
|
/* Attempt to get order,
|
||||||
* only needed for thick types since wrapped with update via callbacks. */
|
* only needed for thick types since wrapped with update via callbacks. */
|
||||||
PropertyRNA *prop_eul_order = NULL;
|
PropertyRNA *prop_eul_order = NULL;
|
||||||
short order = pyrna_rotation_euler_order_get(ptr, EULER_ORDER_XYZ, &prop_eul_order);
|
const short order = pyrna_rotation_euler_order_get(
|
||||||
|
ptr, EULER_ORDER_XYZ, &prop_eul_order);
|
||||||
|
|
||||||
ret = Euler_CreatePyObject(NULL, order, NULL); /* TODO, get order from RNA. */
|
ret = Euler_CreatePyObject(NULL, order, NULL); /* TODO, get order from RNA. */
|
||||||
RNA_property_float_get_array(ptr, prop, ((EulerObject *)ret)->eul);
|
RNA_property_float_get_array(ptr, prop, ((EulerObject *)ret)->eul);
|
||||||
@@ -1725,7 +1726,7 @@ static int pyrna_py_to_prop(
|
|||||||
}
|
}
|
||||||
case PROP_INT: {
|
case PROP_INT: {
|
||||||
int overflow;
|
int overflow;
|
||||||
long param = PyLong_AsLongAndOverflow(value, &overflow);
|
const long param = PyLong_AsLongAndOverflow(value, &overflow);
|
||||||
if (overflow || (param > INT_MAX) || (param < INT_MIN)) {
|
if (overflow || (param > INT_MAX) || (param < INT_MIN)) {
|
||||||
PyErr_Format(PyExc_ValueError,
|
PyErr_Format(PyExc_ValueError,
|
||||||
"%.200s %.200s.%.200s value not in 'int' range "
|
"%.200s %.200s.%.200s value not in 'int' range "
|
||||||
@@ -1757,7 +1758,7 @@ static int pyrna_py_to_prop(
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PROP_FLOAT: {
|
case PROP_FLOAT: {
|
||||||
float param = PyFloat_AsDouble(value);
|
const float param = PyFloat_AsDouble(value);
|
||||||
if (PyErr_Occurred()) {
|
if (PyErr_Occurred()) {
|
||||||
PyErr_Format(PyExc_TypeError,
|
PyErr_Format(PyExc_TypeError,
|
||||||
"%.200s %.200s.%.200s expected a float type, not %.200s",
|
"%.200s %.200s.%.200s expected a float type, not %.200s",
|
||||||
@@ -1935,8 +1936,8 @@ static int pyrna_py_to_prop(
|
|||||||
PyObject *value_new = NULL;
|
PyObject *value_new = NULL;
|
||||||
|
|
||||||
StructRNA *ptr_type = RNA_property_pointer_type(ptr, prop);
|
StructRNA *ptr_type = RNA_property_pointer_type(ptr, prop);
|
||||||
int flag = RNA_property_flag(prop);
|
const int flag = RNA_property_flag(prop);
|
||||||
int flag_parameter = RNA_parameter_flag(prop);
|
const int flag_parameter = RNA_parameter_flag(prop);
|
||||||
|
|
||||||
/* This is really nasty! Done so we can fake the operator having direct properties, eg:
|
/* This is really nasty! Done so we can fake the operator having direct properties, eg:
|
||||||
* layout.prop(self, "filepath")
|
* layout.prop(self, "filepath")
|
||||||
@@ -2075,7 +2076,7 @@ static int pyrna_py_to_prop(
|
|||||||
BKE_reports_init(&reports, RPT_STORE);
|
BKE_reports_init(&reports, RPT_STORE);
|
||||||
RNA_property_pointer_set(
|
RNA_property_pointer_set(
|
||||||
ptr, prop, value == Py_None ? PointerRNA_NULL : param->ptr, &reports);
|
ptr, prop, value == Py_None ? PointerRNA_NULL : param->ptr, &reports);
|
||||||
int err = (BPy_reports_to_error(&reports, PyExc_RuntimeError, true));
|
const int err = (BPy_reports_to_error(&reports, PyExc_RuntimeError, true));
|
||||||
if (err == -1) {
|
if (err == -1) {
|
||||||
Py_XDECREF(value_new);
|
Py_XDECREF(value_new);
|
||||||
return -1;
|
return -1;
|
||||||
@@ -2233,7 +2234,7 @@ static int pyrna_py_to_prop_array_index(BPy_PropertyArrayRNA *self, int index, P
|
|||||||
/* See if we can coerce into a Python type - 'PropertyType'. */
|
/* See if we can coerce into a Python type - 'PropertyType'. */
|
||||||
switch (RNA_property_type(prop)) {
|
switch (RNA_property_type(prop)) {
|
||||||
case PROP_BOOLEAN: {
|
case PROP_BOOLEAN: {
|
||||||
int param = PyC_Long_AsBool(value);
|
const int param = PyC_Long_AsBool(value);
|
||||||
|
|
||||||
if (param == -1) {
|
if (param == -1) {
|
||||||
/* Error is set. */
|
/* Error is set. */
|
||||||
@@ -2698,7 +2699,7 @@ static PyObject *pyrna_prop_collection_subscript(BPy_PropertyRNA *self, PyObject
|
|||||||
return pyrna_prop_collection_subscript_str(self, _PyUnicode_AsString(key));
|
return pyrna_prop_collection_subscript_str(self, _PyUnicode_AsString(key));
|
||||||
}
|
}
|
||||||
if (PyIndex_Check(key)) {
|
if (PyIndex_Check(key)) {
|
||||||
Py_ssize_t i = PyNumber_AsSsize_t(key, PyExc_IndexError);
|
const Py_ssize_t i = PyNumber_AsSsize_t(key, PyExc_IndexError);
|
||||||
if (i == -1 && PyErr_Occurred()) {
|
if (i == -1 && PyErr_Occurred()) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -2732,7 +2733,7 @@ static PyObject *pyrna_prop_collection_subscript(BPy_PropertyRNA *self, PyObject
|
|||||||
|
|
||||||
if (start < 0 || stop < 0) {
|
if (start < 0 || stop < 0) {
|
||||||
/* Only get the length for negative values. */
|
/* Only get the length for negative values. */
|
||||||
Py_ssize_t len = (Py_ssize_t)RNA_property_collection_length(&self->ptr, self->prop);
|
const Py_ssize_t len = (Py_ssize_t)RNA_property_collection_length(&self->ptr, self->prop);
|
||||||
if (start < 0) {
|
if (start < 0) {
|
||||||
start += len;
|
start += len;
|
||||||
}
|
}
|
||||||
@@ -2827,7 +2828,7 @@ static int pyrna_prop_collection_ass_subscript(BPy_PropertyRNA *self,
|
|||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
if (PyIndex_Check(key)) {
|
if (PyIndex_Check(key)) {
|
||||||
Py_ssize_t i = PyNumber_AsSsize_t(key, PyExc_IndexError);
|
const Py_ssize_t i = PyNumber_AsSsize_t(key, PyExc_IndexError);
|
||||||
if (i == -1 && PyErr_Occurred()) {
|
if (i == -1 && PyErr_Occurred()) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@@ -2899,7 +2900,7 @@ static PyObject *pyrna_prop_array_subscript(BPy_PropertyArrayRNA *self, PyObject
|
|||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
if (PyIndex_Check(key)) {
|
if (PyIndex_Check(key)) {
|
||||||
Py_ssize_t i = PyNumber_AsSsize_t(key, PyExc_IndexError);
|
const Py_ssize_t i = PyNumber_AsSsize_t(key, PyExc_IndexError);
|
||||||
if (i == -1 && PyErr_Occurred()) {
|
if (i == -1 && PyErr_Occurred()) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -2919,11 +2920,11 @@ static PyObject *pyrna_prop_array_subscript(BPy_PropertyArrayRNA *self, PyObject
|
|||||||
if (key_slice->start == Py_None && key_slice->stop == Py_None) {
|
if (key_slice->start == Py_None && key_slice->stop == Py_None) {
|
||||||
/* Note: no significant advantage with optimizing [:] slice as with collections,
|
/* Note: no significant advantage with optimizing [:] slice as with collections,
|
||||||
* but include here for consistency with collection slice func */
|
* but include here for consistency with collection slice func */
|
||||||
Py_ssize_t len = (Py_ssize_t)pyrna_prop_array_length(self);
|
const Py_ssize_t len = (Py_ssize_t)pyrna_prop_array_length(self);
|
||||||
return pyrna_prop_array_subscript_slice(self, &self->ptr, self->prop, 0, len, len);
|
return pyrna_prop_array_subscript_slice(self, &self->ptr, self->prop, 0, len, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
int len = pyrna_prop_array_length(self);
|
const int len = pyrna_prop_array_length(self);
|
||||||
Py_ssize_t start, stop, slicelength;
|
Py_ssize_t start, stop, slicelength;
|
||||||
|
|
||||||
if (PySlice_GetIndicesEx(key, len, &start, &stop, &step, &slicelength) < 0) {
|
if (PySlice_GetIndicesEx(key, len, &start, &stop, &step, &slicelength) < 0) {
|
||||||
@@ -3055,7 +3056,7 @@ static int prop_subscript_ass_array_slice__bool_recursive(PyObject **value_items
|
|||||||
BLI_assert(totdim == 1);
|
BLI_assert(totdim == 1);
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i != length; i++) {
|
for (i = 0; i != length; i++) {
|
||||||
int v = PyLong_AsLong(value_items[i]);
|
const int v = PyLong_AsLong(value_items[i]);
|
||||||
value[i] = v;
|
value[i] = v;
|
||||||
}
|
}
|
||||||
return i;
|
return i;
|
||||||
@@ -3097,7 +3098,7 @@ static int prop_subscript_ass_array_slice(PointerRNA *ptr,
|
|||||||
}
|
}
|
||||||
|
|
||||||
int dimsize[3];
|
int dimsize[3];
|
||||||
int totdim = RNA_property_array_dimension(ptr, prop, dimsize);
|
const int totdim = RNA_property_array_dimension(ptr, prop, dimsize);
|
||||||
if (totdim > 1) {
|
if (totdim > 1) {
|
||||||
BLI_assert(dimsize[arraydim] == length);
|
BLI_assert(dimsize[arraydim] == length);
|
||||||
}
|
}
|
||||||
@@ -3247,7 +3248,7 @@ static int pyrna_prop_array_ass_subscript(BPy_PropertyArrayRNA *self,
|
|||||||
}
|
}
|
||||||
|
|
||||||
else if (PyIndex_Check(key)) {
|
else if (PyIndex_Check(key)) {
|
||||||
Py_ssize_t i = PyNumber_AsSsize_t(key, PyExc_IndexError);
|
const Py_ssize_t i = PyNumber_AsSsize_t(key, PyExc_IndexError);
|
||||||
if (i == -1 && PyErr_Occurred()) {
|
if (i == -1 && PyErr_Occurred()) {
|
||||||
ret = -1;
|
ret = -1;
|
||||||
}
|
}
|
||||||
@@ -3256,7 +3257,7 @@ static int pyrna_prop_array_ass_subscript(BPy_PropertyArrayRNA *self,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (PySlice_Check(key)) {
|
else if (PySlice_Check(key)) {
|
||||||
Py_ssize_t len = pyrna_prop_array_length(self);
|
const Py_ssize_t len = pyrna_prop_array_length(self);
|
||||||
Py_ssize_t start, stop, step, slicelength;
|
Py_ssize_t start, stop, step, slicelength;
|
||||||
|
|
||||||
if (PySlice_GetIndicesEx(key, len, &start, &stop, &step, &slicelength) < 0) {
|
if (PySlice_GetIndicesEx(key, len, &start, &stop, &step, &slicelength) < 0) {
|
||||||
@@ -4249,7 +4250,7 @@ static PyObject *pyrna_struct_getattro(BPy_StructRNA *self, PyObject *pyname)
|
|||||||
ListBase newlb;
|
ListBase newlb;
|
||||||
short newtype;
|
short newtype;
|
||||||
|
|
||||||
int done = CTX_data_get(C, name, &newptr, &newlb, &newtype);
|
const int done = CTX_data_get(C, name, &newptr, &newlb, &newtype);
|
||||||
|
|
||||||
if (done == 1) { /* Found. */
|
if (done == 1) { /* Found. */
|
||||||
switch (newtype) {
|
switch (newtype) {
|
||||||
@@ -4401,7 +4402,7 @@ static int pyrna_struct_meta_idprop_setattro(PyObject *cls, PyObject *attr, PyOb
|
|||||||
if (value) {
|
if (value) {
|
||||||
/* Check if the value is a property. */
|
/* Check if the value is a property. */
|
||||||
if (is_deferred_prop) {
|
if (is_deferred_prop) {
|
||||||
int ret = deferred_register_prop(srna, attr, value);
|
const int ret = deferred_register_prop(srna, attr, value);
|
||||||
if (ret == -1) {
|
if (ret == -1) {
|
||||||
/* Error set. */
|
/* Error set. */
|
||||||
return ret;
|
return ret;
|
||||||
@@ -4471,7 +4472,7 @@ static int pyrna_struct_setattro(BPy_StructRNA *self, PyObject *pyname, PyObject
|
|||||||
ListBase newlb;
|
ListBase newlb;
|
||||||
short newtype;
|
short newtype;
|
||||||
|
|
||||||
int done = CTX_data_get(C, name, &newptr, &newlb, &newtype);
|
const int done = CTX_data_get(C, name, &newptr, &newlb, &newtype);
|
||||||
|
|
||||||
if (done == 1) {
|
if (done == 1) {
|
||||||
PyErr_Format(
|
PyErr_Format(
|
||||||
@@ -4646,7 +4647,7 @@ static PyObject *pyrna_prop_collection_idprop_add(BPy_PropertyRNA *self)
|
|||||||
|
|
||||||
static PyObject *pyrna_prop_collection_idprop_remove(BPy_PropertyRNA *self, PyObject *value)
|
static PyObject *pyrna_prop_collection_idprop_remove(BPy_PropertyRNA *self, PyObject *value)
|
||||||
{
|
{
|
||||||
int key = PyLong_AsLong(value);
|
const int key = PyLong_AsLong(value);
|
||||||
|
|
||||||
#ifdef USE_PEDANTIC_WRITE
|
#ifdef USE_PEDANTIC_WRITE
|
||||||
if (rna_disallow_writes && rna_id_write_error(&self->ptr, NULL)) {
|
if (rna_disallow_writes && rna_id_write_error(&self->ptr, NULL)) {
|
||||||
@@ -5172,7 +5173,7 @@ static int foreach_parse_args(BPy_PropertyRNA *self,
|
|||||||
|
|
||||||
static bool foreach_compat_buffer(RawPropertyType raw_type, int attr_signed, const char *format)
|
static bool foreach_compat_buffer(RawPropertyType raw_type, int attr_signed, const char *format)
|
||||||
{
|
{
|
||||||
char f = format ? *format : 'B'; /* B is assumed when not set */
|
const char f = format ? *format : 'B'; /* B is assumed when not set */
|
||||||
|
|
||||||
switch (raw_type) {
|
switch (raw_type) {
|
||||||
case PROP_RAW_CHAR:
|
case PROP_RAW_CHAR:
|
||||||
@@ -5400,7 +5401,7 @@ static PyObject *pyprop_array_foreach_getset(BPy_PropertyArrayRNA *self,
|
|||||||
PyObject *item = NULL;
|
PyObject *item = NULL;
|
||||||
Py_ssize_t i, seq_size, size;
|
Py_ssize_t i, seq_size, size;
|
||||||
void *array = NULL;
|
void *array = NULL;
|
||||||
PropertyType prop_type = RNA_property_type(self->prop);
|
const PropertyType prop_type = RNA_property_type(self->prop);
|
||||||
|
|
||||||
/* Get/set both take the same args currently. */
|
/* Get/set both take the same args currently. */
|
||||||
PyObject *seq;
|
PyObject *seq;
|
||||||
@@ -5498,7 +5499,7 @@ static PyObject *pyprop_array_foreach_getset(BPy_PropertyArrayRNA *self,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
char f = buf.format ? buf.format[0] : 0;
|
const char f = buf.format ? buf.format[0] : 0;
|
||||||
if ((prop_type == PROP_INT && (buf.itemsize != sizeof(int) || (f != 'l' && f != 'i'))) ||
|
if ((prop_type == PROP_INT && (buf.itemsize != sizeof(int) || (f != 'l' && f != 'i'))) ||
|
||||||
(prop_type == PROP_FLOAT && (buf.itemsize != sizeof(float) || f != 'f'))) {
|
(prop_type == PROP_FLOAT && (buf.itemsize != sizeof(float) || f != 'f'))) {
|
||||||
PyBuffer_Release(&buf);
|
PyBuffer_Release(&buf);
|
||||||
@@ -8030,7 +8031,7 @@ static int rna_function_arg_count(FunctionRNA *func, int *min_count)
|
|||||||
const ListBase *lb = RNA_function_defined_parameters(func);
|
const ListBase *lb = RNA_function_defined_parameters(func);
|
||||||
PropertyRNA *parm;
|
PropertyRNA *parm;
|
||||||
Link *link;
|
Link *link;
|
||||||
int flag = RNA_function_flag(func);
|
const int flag = RNA_function_flag(func);
|
||||||
const bool is_staticmethod = (flag & FUNC_NO_SELF) && !(flag & FUNC_USE_SELF_TYPE);
|
const bool is_staticmethod = (flag & FUNC_NO_SELF) && !(flag & FUNC_USE_SELF_TYPE);
|
||||||
int count = is_staticmethod ? 0 : 1;
|
int count = is_staticmethod ? 0 : 1;
|
||||||
bool done_min_count = false;
|
bool done_min_count = false;
|
||||||
@@ -8273,7 +8274,7 @@ static int bpy_class_call(bContext *C, PointerRNA *ptr, FunctionRNA *func, Param
|
|||||||
ParameterIterator iter;
|
ParameterIterator iter;
|
||||||
PointerRNA funcptr;
|
PointerRNA funcptr;
|
||||||
int err = 0, i, ret_len = 0, arg_count;
|
int err = 0, i, ret_len = 0, arg_count;
|
||||||
int flag = RNA_function_flag(func);
|
const int flag = RNA_function_flag(func);
|
||||||
const bool is_staticmethod = (flag & FUNC_NO_SELF) && !(flag & FUNC_USE_SELF_TYPE);
|
const bool is_staticmethod = (flag & FUNC_NO_SELF) && !(flag & FUNC_USE_SELF_TYPE);
|
||||||
const bool is_classmethod = (flag & FUNC_NO_SELF) && (flag & FUNC_USE_SELF_TYPE);
|
const bool is_classmethod = (flag & FUNC_NO_SELF) && (flag & FUNC_USE_SELF_TYPE);
|
||||||
|
|
||||||
@@ -9015,7 +9016,7 @@ void pyrna_struct_type_extend_capi(struct StructRNA *srna,
|
|||||||
py_method = PyCFunction_New(method, NULL);
|
py_method = PyCFunction_New(method, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
int err = PyDict_SetItemString(dict, method->ml_name, py_method);
|
const int err = PyDict_SetItemString(dict, method->ml_name, py_method);
|
||||||
Py_DECREF(py_method);
|
Py_DECREF(py_method);
|
||||||
BLI_assert(!(err < 0));
|
BLI_assert(!(err < 0));
|
||||||
UNUSED_VARS_NDEBUG(err);
|
UNUSED_VARS_NDEBUG(err);
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ static int pyrna_struct_anim_args_parse_ex(PointerRNA *ptr,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
int array_len = RNA_property_array_length(&r_ptr, prop);
|
const int array_len = RNA_property_array_length(&r_ptr, prop);
|
||||||
if ((*r_index) < -1 || (*r_index) >= array_len) {
|
if ((*r_index) < -1 || (*r_index) >= array_len) {
|
||||||
PyErr_Format(PyExc_TypeError,
|
PyErr_Format(PyExc_TypeError,
|
||||||
"%.200s index out of range \"%s\", given %d, array length is %d",
|
"%.200s index out of range \"%s\", given %d, array length is %d",
|
||||||
@@ -316,7 +316,7 @@ PyObject *pyrna_struct_keyframe_insert(BPy_StructRNA *self, PyObject *args, PyOb
|
|||||||
int index = -1;
|
int index = -1;
|
||||||
float cfra = FLT_MAX;
|
float cfra = FLT_MAX;
|
||||||
const char *group_name = NULL;
|
const char *group_name = NULL;
|
||||||
char keytype = BEZT_KEYTYPE_KEYFRAME; /* XXX: Expose this as a one-off option... */
|
const char keytype = BEZT_KEYTYPE_KEYFRAME; /* XXX: Expose this as a one-off option... */
|
||||||
int options = 0;
|
int options = 0;
|
||||||
|
|
||||||
PYRNA_STRUCT_CHECK_OBJ(self);
|
PYRNA_STRUCT_CHECK_OBJ(self);
|
||||||
|
|||||||
@@ -361,7 +361,7 @@ static int validate_array(PyObject *rvalue,
|
|||||||
const char *error_prefix)
|
const char *error_prefix)
|
||||||
{
|
{
|
||||||
int dimsize[MAX_ARRAY_DIMENSION];
|
int dimsize[MAX_ARRAY_DIMENSION];
|
||||||
int totdim = RNA_property_array_dimension(ptr, prop, dimsize);
|
const int totdim = RNA_property_array_dimension(ptr, prop, dimsize);
|
||||||
|
|
||||||
/* validate type first because length validation may modify property array length */
|
/* validate type first because length validation may modify property array length */
|
||||||
|
|
||||||
@@ -466,7 +466,7 @@ static char *copy_values(PyObject *seq,
|
|||||||
const ItemConvert_FuncArg *convert_item,
|
const ItemConvert_FuncArg *convert_item,
|
||||||
RNA_SetIndexFunc rna_set_index)
|
RNA_SetIndexFunc rna_set_index)
|
||||||
{
|
{
|
||||||
int totdim = RNA_property_array_dimension(ptr, prop, NULL);
|
const int totdim = RNA_property_array_dimension(ptr, prop, NULL);
|
||||||
const Py_ssize_t seq_size = PySequence_Size(seq);
|
const Py_ssize_t seq_size = PySequence_Size(seq);
|
||||||
Py_ssize_t i;
|
Py_ssize_t i;
|
||||||
|
|
||||||
@@ -487,7 +487,7 @@ static char *copy_values(PyObject *seq,
|
|||||||
if (dim == 0) {
|
if (dim == 0) {
|
||||||
if (MatrixObject_Check(seq)) {
|
if (MatrixObject_Check(seq)) {
|
||||||
MatrixObject *pymat = (MatrixObject *)seq;
|
MatrixObject *pymat = (MatrixObject *)seq;
|
||||||
size_t allocsize = pymat->num_col * pymat->num_row * sizeof(float);
|
const size_t allocsize = pymat->num_col * pymat->num_row * sizeof(float);
|
||||||
|
|
||||||
/* read callback already done by validate */
|
/* read callback already done by validate */
|
||||||
/* since this is the first iteration we can assume data is allocated */
|
/* since this is the first iteration we can assume data is allocated */
|
||||||
@@ -993,7 +993,7 @@ PyObject *pyrna_py_from_array(PointerRNA *ptr, PropertyRNA *prop)
|
|||||||
/* TODO, multi-dimensional arrays */
|
/* TODO, multi-dimensional arrays */
|
||||||
int pyrna_array_contains_py(PointerRNA *ptr, PropertyRNA *prop, PyObject *value)
|
int pyrna_array_contains_py(PointerRNA *ptr, PropertyRNA *prop, PyObject *value)
|
||||||
{
|
{
|
||||||
int len = RNA_property_array_length(ptr, prop);
|
const int len = RNA_property_array_length(ptr, prop);
|
||||||
int type;
|
int type;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@@ -1011,7 +1011,7 @@ int pyrna_array_contains_py(PointerRNA *ptr, PropertyRNA *prop, PyObject *value)
|
|||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case PROP_FLOAT: {
|
case PROP_FLOAT: {
|
||||||
float value_f = PyFloat_AsDouble(value);
|
const float value_f = PyFloat_AsDouble(value);
|
||||||
if (value_f == -1 && PyErr_Occurred()) {
|
if (value_f == -1 && PyErr_Occurred()) {
|
||||||
PyErr_Clear();
|
PyErr_Clear();
|
||||||
return 0;
|
return 0;
|
||||||
@@ -1044,7 +1044,7 @@ int pyrna_array_contains_py(PointerRNA *ptr, PropertyRNA *prop, PyObject *value)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PROP_INT: {
|
case PROP_INT: {
|
||||||
int value_i = PyC_Long_AsI32(value);
|
const int value_i = PyC_Long_AsI32(value);
|
||||||
if (value_i == -1 && PyErr_Occurred()) {
|
if (value_i == -1 && PyErr_Occurred()) {
|
||||||
PyErr_Clear();
|
PyErr_Clear();
|
||||||
return 0;
|
return 0;
|
||||||
@@ -1077,7 +1077,7 @@ int pyrna_array_contains_py(PointerRNA *ptr, PropertyRNA *prop, PyObject *value)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PROP_BOOLEAN: {
|
case PROP_BOOLEAN: {
|
||||||
int value_i = PyC_Long_AsBool(value);
|
const int value_i = PyC_Long_AsBool(value);
|
||||||
if (value_i == -1 && PyErr_Occurred()) {
|
if (value_i == -1 && PyErr_Occurred()) {
|
||||||
PyErr_Clear();
|
PyErr_Clear();
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ static void cb_region_draw(const bContext *C, ARegion *UNUSED(region), void *cus
|
|||||||
static PyObject *PyC_Tuple_CopySized(PyObject *src, int len_dst)
|
static PyObject *PyC_Tuple_CopySized(PyObject *src, int len_dst)
|
||||||
{
|
{
|
||||||
PyObject *dst = PyTuple_New(len_dst);
|
PyObject *dst = PyTuple_New(len_dst);
|
||||||
int len_src = PyTuple_GET_SIZE(src);
|
const int len_src = PyTuple_GET_SIZE(src);
|
||||||
BLI_assert(len_src <= len_dst);
|
BLI_assert(len_src <= len_dst);
|
||||||
for (int i = 0; i < len_src; i++) {
|
for (int i = 0; i < len_src; i++) {
|
||||||
PyObject *item = PyTuple_GET_ITEM(src, i);
|
PyObject *item = PyTuple_GET_ITEM(src, i);
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ PyObject *pyrna_driver_get_variable_value(struct ChannelDriver *driver, struct D
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
/* object & property */
|
/* object & property */
|
||||||
PropertyType type = RNA_property_type(prop);
|
const PropertyType type = RNA_property_type(prop);
|
||||||
if (type == PROP_ENUM) {
|
if (type == PROP_ENUM) {
|
||||||
/* Note that enum's are converted to strings by default,
|
/* Note that enum's are converted to strings by default,
|
||||||
* we want to avoid that, see: T52213 */
|
* we want to avoid that, see: T52213 */
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ static void py_rna_gizmo_handler_get_cb(const wmGizmo *UNUSED(gz),
|
|||||||
wmGizmoProperty *gz_prop,
|
wmGizmoProperty *gz_prop,
|
||||||
void *value_p)
|
void *value_p)
|
||||||
{
|
{
|
||||||
PyGILState_STATE gilstate = PyGILState_Ensure();
|
const PyGILState_STATE gilstate = PyGILState_Ensure();
|
||||||
|
|
||||||
struct BPyGizmoHandlerUserData *data = gz_prop->custom_func.user_data;
|
struct BPyGizmoHandlerUserData *data = gz_prop->custom_func.user_data;
|
||||||
PyObject *ret = PyObject_CallObject(data->fn_slots[BPY_GIZMO_FN_SLOT_GET], NULL);
|
PyObject *ret = PyObject_CallObject(data->fn_slots[BPY_GIZMO_FN_SLOT_GET], NULL);
|
||||||
@@ -110,7 +110,7 @@ static void py_rna_gizmo_handler_set_cb(const wmGizmo *UNUSED(gz),
|
|||||||
wmGizmoProperty *gz_prop,
|
wmGizmoProperty *gz_prop,
|
||||||
const void *value_p)
|
const void *value_p)
|
||||||
{
|
{
|
||||||
PyGILState_STATE gilstate = PyGILState_Ensure();
|
const PyGILState_STATE gilstate = PyGILState_Ensure();
|
||||||
|
|
||||||
struct BPyGizmoHandlerUserData *data = gz_prop->custom_func.user_data;
|
struct BPyGizmoHandlerUserData *data = gz_prop->custom_func.user_data;
|
||||||
|
|
||||||
@@ -159,7 +159,7 @@ static void py_rna_gizmo_handler_range_get_cb(const wmGizmo *UNUSED(gz),
|
|||||||
{
|
{
|
||||||
struct BPyGizmoHandlerUserData *data = gz_prop->custom_func.user_data;
|
struct BPyGizmoHandlerUserData *data = gz_prop->custom_func.user_data;
|
||||||
|
|
||||||
PyGILState_STATE gilstate = PyGILState_Ensure();
|
const PyGILState_STATE gilstate = PyGILState_Ensure();
|
||||||
|
|
||||||
PyObject *ret = PyObject_CallObject(data->fn_slots[BPY_GIZMO_FN_SLOT_RANGE_GET], NULL);
|
PyObject *ret = PyObject_CallObject(data->fn_slots[BPY_GIZMO_FN_SLOT_RANGE_GET], NULL);
|
||||||
if (ret == NULL) {
|
if (ret == NULL) {
|
||||||
@@ -211,7 +211,7 @@ static void py_rna_gizmo_handler_free_cb(const wmGizmo *UNUSED(gz), wmGizmoPrope
|
|||||||
{
|
{
|
||||||
struct BPyGizmoHandlerUserData *data = gz_prop->custom_func.user_data;
|
struct BPyGizmoHandlerUserData *data = gz_prop->custom_func.user_data;
|
||||||
|
|
||||||
PyGILState_STATE gilstate = PyGILState_Ensure();
|
const PyGILState_STATE gilstate = PyGILState_Ensure();
|
||||||
for (int i = 0; i < BPY_GIZMO_FN_SLOT_LEN; i++) {
|
for (int i = 0; i < BPY_GIZMO_FN_SLOT_LEN; i++) {
|
||||||
Py_XDECREF(data->fn_slots[i]);
|
Py_XDECREF(data->fn_slots[i]);
|
||||||
}
|
}
|
||||||
@@ -234,7 +234,7 @@ PyDoc_STRVAR(
|
|||||||
" :type range: callable\n");
|
" :type range: callable\n");
|
||||||
static PyObject *bpy_gizmo_target_set_handler(PyObject *UNUSED(self), PyObject *args, PyObject *kw)
|
static PyObject *bpy_gizmo_target_set_handler(PyObject *UNUSED(self), PyObject *args, PyObject *kw)
|
||||||
{
|
{
|
||||||
PyGILState_STATE gilstate = PyGILState_Ensure();
|
const PyGILState_STATE gilstate = PyGILState_Ensure();
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
PyObject *self;
|
PyObject *self;
|
||||||
@@ -368,7 +368,7 @@ static PyObject *bpy_gizmo_target_get_value(PyObject *UNUSED(self), PyObject *ar
|
|||||||
return PyC_Tuple_PackArray_F32(value, array_len);
|
return PyC_Tuple_PackArray_F32(value, array_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
float value = WM_gizmo_target_property_float_get(gz, gz_prop);
|
const float value = WM_gizmo_target_property_float_get(gz, gz_prop);
|
||||||
return PyFloat_FromDouble(value);
|
return PyFloat_FromDouble(value);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -208,7 +208,7 @@ int mathutils_array_parse(
|
|||||||
|
|
||||||
if (size != -1) {
|
if (size != -1) {
|
||||||
if (flag & MU_ARRAY_ZERO) {
|
if (flag & MU_ARRAY_ZERO) {
|
||||||
int size_left = array_max - size;
|
const int size_left = array_max - size;
|
||||||
if (size_left) {
|
if (size_left) {
|
||||||
memset(&array[size], 0, sizeof(float) * size_left);
|
memset(&array[size], 0, sizeof(float) * size_left);
|
||||||
}
|
}
|
||||||
@@ -541,9 +541,9 @@ int EXPP_FloatsAreEqual(float af, float bf, int maxDiff)
|
|||||||
{
|
{
|
||||||
/* solid, fast routine across all platforms
|
/* solid, fast routine across all platforms
|
||||||
* with constant time behavior */
|
* with constant time behavior */
|
||||||
int ai = *(int *)(&af);
|
const int ai = *(int *)(&af);
|
||||||
int bi = *(int *)(&bf);
|
const int bi = *(int *)(&bf);
|
||||||
int test = SIGNMASK(ai ^ bi);
|
const int test = SIGNMASK(ai ^ bi);
|
||||||
int diff, v1, v2;
|
int diff, v1, v2;
|
||||||
|
|
||||||
assert((0 == test) || (0xFFFFFFFF == test));
|
assert((0 == test) || (0xFFFFFFFF == test));
|
||||||
|
|||||||
@@ -749,7 +749,7 @@ PyDoc_STRVAR(Color_channel_hsv_v_doc, "HSV Value component in [0, 1].\n\n:type:
|
|||||||
static PyObject *Color_channel_hsv_get(ColorObject *self, void *type)
|
static PyObject *Color_channel_hsv_get(ColorObject *self, void *type)
|
||||||
{
|
{
|
||||||
float hsv[3];
|
float hsv[3];
|
||||||
int i = POINTER_AS_INT(type);
|
const int i = POINTER_AS_INT(type);
|
||||||
|
|
||||||
if (BaseMath_ReadCallback(self) == -1) {
|
if (BaseMath_ReadCallback(self) == -1) {
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -763,7 +763,7 @@ static PyObject *Color_channel_hsv_get(ColorObject *self, void *type)
|
|||||||
static int Color_channel_hsv_set(ColorObject *self, PyObject *value, void *type)
|
static int Color_channel_hsv_set(ColorObject *self, PyObject *value, void *type)
|
||||||
{
|
{
|
||||||
float hsv[3];
|
float hsv[3];
|
||||||
int i = POINTER_AS_INT(type);
|
const int i = POINTER_AS_INT(type);
|
||||||
float f = PyFloat_AsDouble(value);
|
float f = PyFloat_AsDouble(value);
|
||||||
|
|
||||||
if (f == -1 && PyErr_Occurred()) {
|
if (f == -1 && PyErr_Occurred()) {
|
||||||
|
|||||||
@@ -809,7 +809,7 @@ static PyObject *C_Matrix_OrthoProjection(PyObject *cls, PyObject *args)
|
|||||||
else {
|
else {
|
||||||
/* arbitrary plane */
|
/* arbitrary plane */
|
||||||
|
|
||||||
int vec_size = (matSize == 2 ? 2 : 3);
|
const int vec_size = (matSize == 2 ? 2 : 3);
|
||||||
float tvec[4];
|
float tvec[4];
|
||||||
|
|
||||||
if (mathutils_array_parse(tvec,
|
if (mathutils_array_parse(tvec,
|
||||||
@@ -2156,7 +2156,8 @@ static PyObject *Matrix_str(MatrixObject *self)
|
|||||||
for (col = 0; col < self->num_col; col++) {
|
for (col = 0; col < self->num_col; col++) {
|
||||||
maxsize[col] = 0;
|
maxsize[col] = 0;
|
||||||
for (row = 0; row < self->num_row; row++) {
|
for (row = 0; row < self->num_row; row++) {
|
||||||
int size = BLI_snprintf(dummy_buf, sizeof(dummy_buf), "%.4f", MATRIX_ITEM(self, row, col));
|
const int size = BLI_snprintf(
|
||||||
|
dummy_buf, sizeof(dummy_buf), "%.4f", MATRIX_ITEM(self, row, col));
|
||||||
maxsize[col] = max_ii(maxsize[col], size);
|
maxsize[col] = max_ii(maxsize[col], size);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -356,7 +356,7 @@ PyDoc_STRVAR(Vector_normalize_doc,
|
|||||||
" however 4D Vectors w axis is left untouched.\n");
|
" however 4D Vectors w axis is left untouched.\n");
|
||||||
static PyObject *Vector_normalize(VectorObject *self)
|
static PyObject *Vector_normalize(VectorObject *self)
|
||||||
{
|
{
|
||||||
int size = (self->size == 4 ? 3 : self->size);
|
const int size = (self->size == 4 ? 3 : self->size);
|
||||||
if (BaseMath_ReadCallback_ForWrite(self) == -1) {
|
if (BaseMath_ReadCallback_ForWrite(self) == -1) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -2027,7 +2027,7 @@ static PyObject *Vector_richcmpr(PyObject *objectA, PyObject *objectB, int compa
|
|||||||
{
|
{
|
||||||
VectorObject *vecA = NULL, *vecB = NULL;
|
VectorObject *vecA = NULL, *vecB = NULL;
|
||||||
int result = 0;
|
int result = 0;
|
||||||
double epsilon = 0.000001f;
|
const double epsilon = 0.000001f;
|
||||||
double lenA, lenB;
|
double lenA, lenB;
|
||||||
|
|
||||||
if (!VectorObject_Check(objectA) || !VectorObject_Check(objectB)) {
|
if (!VectorObject_Check(objectA) || !VectorObject_Check(objectB)) {
|
||||||
|
|||||||
@@ -589,7 +589,7 @@ static PyObject *py_bvhtree_overlap(PyBVHTree *self, PyBVHTree *other)
|
|||||||
/* pass */
|
/* pass */
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bool use_unique = (self->orig_index || other->orig_index);
|
const bool use_unique = (self->orig_index || other->orig_index);
|
||||||
GSet *pair_test = use_unique ?
|
GSet *pair_test = use_unique ?
|
||||||
BLI_gset_new_ex(overlap_hash, overlap_cmp, __func__, overlap_len) :
|
BLI_gset_new_ex(overlap_hash, overlap_cmp, __func__, overlap_len) :
|
||||||
NULL;
|
NULL;
|
||||||
@@ -1037,7 +1037,7 @@ static Mesh *bvh_get_mesh(const char *funcname,
|
|||||||
{
|
{
|
||||||
Object *ob_eval = DEG_get_evaluated_object(depsgraph, ob);
|
Object *ob_eval = DEG_get_evaluated_object(depsgraph, ob);
|
||||||
/* we only need minimum mesh data for topology and vertex locations */
|
/* we only need minimum mesh data for topology and vertex locations */
|
||||||
CustomData_MeshMasks data_masks = CD_MASK_BAREMESH;
|
const CustomData_MeshMasks data_masks = CD_MASK_BAREMESH;
|
||||||
const bool use_render = DEG_get_mode(depsgraph) == DAG_EVAL_RENDER;
|
const bool use_render = DEG_get_mode(depsgraph) == DAG_EVAL_RENDER;
|
||||||
*r_free_mesh = false;
|
*r_free_mesh = false;
|
||||||
|
|
||||||
|
|||||||
@@ -315,7 +315,7 @@ static PyObject *M_Geometry_intersect_tri_tri_2d(PyObject *UNUSED(self), PyObjec
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ret = isect_tri_tri_v2(UNPACK3(tri_pair[0]), UNPACK3(tri_pair[1]));
|
const bool ret = isect_tri_tri_v2(UNPACK3(tri_pair[0]), UNPACK3(tri_pair[1]));
|
||||||
return PyBool_FromLong(ret);
|
return PyBool_FromLong(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -492,7 +492,7 @@ static PyObject *M_Geometry_intersect_line_plane(PyObject *UNUSED(self), PyObjec
|
|||||||
PyObject *py_line_a, *py_line_b, *py_plane_co, *py_plane_no;
|
PyObject *py_line_a, *py_line_b, *py_plane_co, *py_plane_no;
|
||||||
float line_a[3], line_b[3], plane_co[3], plane_no[3];
|
float line_a[3], line_b[3], plane_co[3], plane_no[3];
|
||||||
float isect[3];
|
float isect[3];
|
||||||
bool no_flip = false;
|
const bool no_flip = false;
|
||||||
|
|
||||||
if (!PyArg_ParseTuple(args,
|
if (!PyArg_ParseTuple(args,
|
||||||
"OOOO|O&:intersect_line_plane",
|
"OOOO|O&:intersect_line_plane",
|
||||||
|
|||||||
@@ -191,7 +191,7 @@ static int py_find_nearest_cb(void *user_data, int index, const float co[3], flo
|
|||||||
|
|
||||||
if (result) {
|
if (result) {
|
||||||
bool use_node;
|
bool use_node;
|
||||||
int ok = PyC_ParseBool(result, &use_node);
|
const int ok = PyC_ParseBool(result, &use_node);
|
||||||
Py_DECREF(result);
|
Py_DECREF(result);
|
||||||
if (ok) {
|
if (ok) {
|
||||||
return (int)use_node;
|
return (int)use_node;
|
||||||
|
|||||||
Reference in New Issue
Block a user