[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60416] trunk/blender/source/blender/ blenkernel/intern/mesh.c: Fix [#36841] UV-Maps cannot be renamed in EditMode
Bastien Montagne
montagne29 at wanadoo.fr
Sun Sep 29 08:47:08 CEST 2013
Revision: 60416
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60416
Author: mont29
Date: 2013-09-29 06:47:07 +0000 (Sun, 29 Sep 2013)
Log Message:
-----------
Fix [#36841] UV-Maps cannot be renamed in EditMode
Own error in r60260, in edit mode we need to use bmesh's cdata!
Revision Links:
--------------
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60260
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/mesh.c
Modified: trunk/blender/source/blender/blenkernel/intern/mesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/mesh.c 2013-09-29 02:07:48 UTC (rev 60415)
+++ trunk/blender/source/blender/blenkernel/intern/mesh.c 2013-09-29 06:47:07 UTC (rev 60416)
@@ -628,13 +628,25 @@
bool BKE_mesh_uv_cdlayer_rename_index(Mesh *me, const int poly_index, const int loop_index, const int face_index,
const char *new_name, const bool do_tessface)
{
- CustomData *pdata = &me->pdata, *ldata = &me->ldata, *fdata = &me->fdata;
- CustomDataLayer *cdlp = &pdata->layers[poly_index];
- CustomDataLayer *cdlu = &ldata->layers[loop_index];
- CustomDataLayer *cdlf = do_tessface ? &fdata->layers[face_index] : NULL;
+ CustomData *pdata, *ldata, *fdata;
+ CustomDataLayer *cdlp, *cdlu, *cdlf;
const int step = do_tessface ? 3 : 2;
int i;
+ if (me->edit_btmesh) {
+ pdata = &me->edit_btmesh->bm->pdata;
+ ldata = &me->edit_btmesh->bm->ldata;
+ fdata = NULL; /* No tessellated data in BMesh! */
+ }
+ else {
+ pdata = &me->pdata;
+ ldata = &me->ldata;
+ fdata = &me->fdata;
+ }
+ cdlp = &pdata->layers[poly_index];
+ cdlu = &ldata->layers[loop_index];
+ cdlf = do_tessface ? &fdata->layers[face_index] : NULL;
+
BLI_strncpy(cdlp->name, new_name, sizeof(cdlp->name));
CustomData_set_layer_unique_name(pdata, cdlp - pdata->layers);
@@ -667,7 +679,7 @@
const int fidx_start = do_tessface ? CustomData_get_layer_index(fdata, CD_MTFACE) : -1;
int pidx, lidx, fidx;
- do_tessface = (do_tessface && fdata->totlayer);
+ do_tessface = (do_tessface && fdata->totlayer && !me->edit_btmesh);
pidx = CustomData_get_named_layer(pdata, CD_MTEXPOLY, old_name);
lidx = CustomData_get_named_layer(ldata, CD_MLOOPUV, old_name);
fidx = do_tessface ? CustomData_get_named_layer(fdata, CD_MTFACE, old_name) : -1;
More information about the Bf-blender-cvs
mailing list