BPython: bug fixes / patches from trackers
(excuse me for not committing earlier) Patches by Ken Hughes (thanks for all bug fixes!): 1) Setting a scene's MapOld and MapNew values in python does nothing: bug #2566 submitted by Dominic Agoro-Ombaka (dmao): https://projects.blender.org/tracker/?func=detail&aid=2566&group_id=9&atid=125 patch #2571: https://projects.blender.org/tracker/index.php?func=detail&aid=2571&group_id=9&atid=127 2) Calling the file selector after setting the progress bar crashes Blender: bug #2418 submitted by Alessandro Garosi (brandano): https://projects.blender.org/tracker/?func=detail&aid=2418&group_id=9&atid=125 patch #2568: https://projects.blender.org/tracker/index.php?func=detail&aid=2568&group_id=9&atid=127 3) Menus always generate same event when canceled: bug #2429 submitted by Campbell Barton: https://projects.blender.org/tracker/?func=detail&aid=2429&group_id=9&atid=125 patch #2579: https://projects.blender.org/tracker/?func=detail&aid=2579&group_id=9&atid=127 4) Add a vertex to a mesh with groups using a script and then edit that mesh hangs blender: bug #2211 reported by German Alonso Tamayo (servivo): https://projects.blender.org/tracker/index.php?func=detail&aid=2211&group_id=9&atid=125 patch #2580 #https://projects.blender.org/tracker/index.php?func=detail&aid=2580&group_id=9&atid=127 About bug #2033, I'm still looking at it, committing a small fix now. ===== Patches by Campbell Barton (thanks!): #2482: BGL pydocs fix broken links https://projects.blender.org/tracker/index.php?func=detail&aid=2482&group_id=9&atid=127 #2426: Large text in Draw.Text and Draw.GetStreingWidth https://projects.blender.org/tracker/index.php?func=detail&aid=2462&group_id=9&atid=127 #2521: scene.getActiveObject() https://projects.blender.org/tracker/index.php?func=detail&aid=2521&group_id=9&atid=127 #2523: NMesh.GetNames() https://projects.blender.org/tracker/index.php?func=detail&aid=2523&group_id=9&atid=127 - docs also updated
This commit is contained in:
@@ -26,7 +26,7 @@
|
||||
* This is a new part of Blender, but it borrows all the old NMesh code.
|
||||
*
|
||||
* Contributor(s): Willian P. Germano, Jordi Rovira i Bonet, Joseph Gilbert,
|
||||
* Bala Gi, Alexander Szakaly, Stephane Soppera, Campbell Barton
|
||||
* Bala Gi, Alexander Szakaly, Stephane Soppera, Campbell Barton, Ken Hughes
|
||||
*
|
||||
* ***** END GPL/BL DUAL LICENSE BLOCK *****
|
||||
*/
|
||||
@@ -275,6 +275,10 @@ If name is not specified a new empty mesh is\n\
|
||||
returned, otherwise Blender returns an existing\n\
|
||||
mesh.";
|
||||
|
||||
static char M_NMesh_GetNames_doc[] = "\
|
||||
() - Get a list with the names of all available meshes in Blender\n\n\
|
||||
Any of these names can be passed to NMesh.GetRaw() for the actual mesh data.";
|
||||
|
||||
static char M_NMesh_GetRawFromObject_doc[] =
|
||||
"(name) - Get the raw mesh used by a Blender object\n\n\
|
||||
(name) Name of the object to get the mesh from\n\n\
|
||||
@@ -2140,6 +2144,19 @@ static PyObject *M_NMesh_GetRaw( PyObject * self, PyObject * args )
|
||||
return new_NMesh( oldmesh );
|
||||
}
|
||||
|
||||
static PyObject *M_NMesh_GetNames(PyObject *self)
|
||||
{
|
||||
PyObject *names = PyList_New(0);
|
||||
Mesh *me = G.main->mesh.first;
|
||||
|
||||
while (me) {
|
||||
PyList_Append(names, PyString_FromString(me->id.name+2));
|
||||
me = me->id.next;
|
||||
}
|
||||
|
||||
return names;
|
||||
}
|
||||
|
||||
/* Note: NMesh.GetRawFromObject gets the display list mesh from Blender:
|
||||
* the vertices are already transformed / deformed. */
|
||||
static PyObject *M_NMesh_GetRawFromObject( PyObject * self, PyObject * args )
|
||||
@@ -2394,6 +2411,8 @@ static int unlink_existingMeshData( Mesh * mesh )
|
||||
{
|
||||
freedisplist( &mesh->disp );
|
||||
EXPP_unlink_mesh( mesh );
|
||||
if( mesh->dvert )
|
||||
free_dverts( mesh->dvert, mesh->totvert );
|
||||
if( mesh->mvert )
|
||||
MEM_freeN( mesh->mvert );
|
||||
if( mesh->medge ) {
|
||||
@@ -2876,6 +2895,8 @@ static struct PyMethodDef M_NMesh_methods[] = {
|
||||
MethodDef( GetRaw ),
|
||||
MethodDef( GetRawFromObject ),
|
||||
MethodDef( PutRaw ),
|
||||
{"GetNames", (PyCFunction)M_NMesh_GetNames, METH_NOARGS,
|
||||
M_NMesh_GetNames_doc},
|
||||
{NULL, NULL, 0, NULL}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user