Exppython:

- Fixed bug #399:
    Old bug on NMesh: segfault on NMesh.Face(vertexlist).
- Fixed bug #433:
    "Typo" on Armature: bone's setQuat method was changing bone->head, not
    bone->quat.
This commit is contained in:
2003-08-05 03:45:31 +00:00
parent 7db4249ae4
commit 683c322b0e
2 changed files with 35 additions and 11 deletions

View File

@@ -543,10 +543,10 @@ static PyObject *Bone_setQuat(BPy_Bone *self, PyObject *args)
return (EXPP_ReturnPyObjError (PyExc_AttributeError,
"expected 4 float arguments"));
self->bone->head[0] = f1;
self->bone->head[1] = f2;
self->bone->head[2] = f3;
self->bone->head[3] = f4;
self->bone->quat[0] = f1;
self->bone->quat[1] = f2;
self->bone->quat[2] = f3;
self->bone->quat[3] = f4;
Py_INCREF(Py_None);
return Py_None;

View File

@@ -147,11 +147,35 @@ static void NMFace_dealloc (PyObject *self)
PyObject_DEL(self);
}
static BPy_NMFace *new_NMFace(PyObject *vertexlist)
static PyObject *new_NMFace(PyObject *vertexlist)
{
BPy_NMFace *mf = PyObject_NEW (BPy_NMFace, &NMFace_Type);
PyObject *vlcopy;
mf->v = vertexlist;
if (vertexlist) { /* create a copy of the given vertex list */
PyObject *item;
int i, len = PyList_Size(vertexlist);
vlcopy = PyList_New(len);
if (!vlcopy)
return EXPP_ReturnPyObjError(PyExc_MemoryError,
"couldn't create PyList");
for (i = 0; i < len; i++) {
item = PySequence_GetItem(vertexlist, i); /* PySequence increfs */
if (item)
PyList_SET_ITEM(vlcopy, i, item);
else
return EXPP_ReturnPyObjError(PyExc_RuntimeError,
"couldn't get vertex from a PyList");
}
}
else /* create an empty vertex list */
vlcopy = PyList_New(0);
mf->v = vlcopy;
mf->uv = PyList_New(0);
mf->image = NULL;
mf->mode = TF_DYNAMIC + TF_TEX;
@@ -159,10 +183,10 @@ static BPy_NMFace *new_NMFace(PyObject *vertexlist)
mf->transp = TF_SOLID;
mf->col = PyList_New(0);
mf->smooth= 0;
mf->mat_nr= 0;
mf->smooth = 0;
mf->mat_nr = 0;
return mf;
return (PyObject *)mf;
}
static PyObject *M_NMesh_Face(PyObject *self, PyObject *args)
@@ -173,9 +197,9 @@ static PyObject *M_NMesh_Face(PyObject *self, PyObject *args)
return EXPP_ReturnPyObjError (PyExc_TypeError,
"expected a list of vertices or nothing as argument");
if (!vertlist) vertlist = PyList_New(0);
/* if (!vertlist) vertlist = PyList_New(0); */
return (PyObject *)new_NMFace(vertlist);
return new_NMFace(vertlist);
}
static PyObject *NMFace_append(PyObject *self, PyObject *args)