[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [10837] trunk/blender/source/blender/ python/api2_2x/NMesh.c: When converting from TF_SELECT to use the mfaces selection flag only I missed getSelectedFaces .
Martin Poirier
theeth at yahoo.com
Fri Jun 1 12:15:00 CEST 2007
Why not just move the creation of the list AFTER the
possible error conditions and get rid of the decrefs?
That way, you wouldn't create it for nothing... :)
Martin
--- Campbell Barton <cbarton at metavr.com> wrote:
> Revision: 10837
>
>
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=10837
> Author: campbellbarton
> Date: 2007-06-01 04:33:23 +0200 (Fri, 01 Jun
> 2007)
>
> Log Message:
> -----------
> When converting from TF_SELECT to use the mfaces
> selection flag only I missed getSelectedFaces.
>
> This broke theeths UV-Exportscript.
> updated and added 2 missing decref's, as well as a
> check not to write a list of faces greater then the
> size of the NMesh (mesh and NMesh face lengths can
> differ)
>
> Modified Paths:
> --------------
>
> trunk/blender/source/blender/python/api2_2x/NMesh.c
>
> Modified:
> trunk/blender/source/blender/python/api2_2x/NMesh.c
>
===================================================================
> ---
> trunk/blender/source/blender/python/api2_2x/NMesh.c
> 2007-06-01 02:21:11 UTC (rev 10836)
> +++
> trunk/blender/source/blender/python/api2_2x/NMesh.c
> 2007-06-01 02:33:23 UTC (rev 10837)
> @@ -1278,23 +1278,33 @@
> Mesh *me = nm->mesh;
> int flag = 0;
>
> - MTFace *tf;
> + MFace *mf;
> int i;
> PyObject *l = PyList_New( 0 ), *pyval;
>
> - if( me == NULL )
> + /* dont allow returning more then the NMesh's
> number of faces */
> + int totfaces = PySequence_Length(nm->faces);
> +
> + if( me == NULL ) {
> + Py_DECREF(l);
> return NULL;
> -
> - tf = me->mtface;
> - if( tf == 0 )
> + }
> + mf = me->mface;
> + if( mf == NULL )
> return l;
>
> - if( !PyArg_ParseTuple( args, "|i", &flag ) )
> + if( !PyArg_ParseTuple( args, "|i", &flag ) ) {
> + Py_DECREF(l);
> return NULL;
> -
> + }
> +
> + /* make sure not to write more faces then we have
> */
> + if (totfaces > me->totface)
> + totfaces= me->totface;
> +
> if( flag ) {
> for( i = 0; i < me->totface; i++ ) {
> - if( tf[i].flag & TF_SELECT ) {
> + if( mf[i].flag & ME_FACE_SEL ) {
> pyval = PyInt_FromLong( i );
> PyList_Append( l, pyval );
> Py_DECREF(pyval);
> @@ -1302,7 +1312,7 @@
> }
> } else {
> for( i = 0; i < me->totface; i++ ) {
> - if( tf[i].flag & TF_SELECT )
> + if( mf[i].flag & ME_FACE_SEL )
> PyList_Append( l, PyList_GetItem( nm->faces, i
> ) );
> }
> }
>
>
> _______________________________________________
> Bf-blender-cvs mailing list
> Bf-blender-cvs at blender.org
>
http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>
____________________________________________________________________________________
Get the free Yahoo! toolbar and rest assured with the added security of spyware protection.
http://new.toolbar.yahoo.com/toolbar/features/norton/index.php
More information about the Bf-committers
mailing list