[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [54667] trunk/blender/source/blender/ editors/space_view3d/view3d_buttons.c: fix [#34033] Mesh customdata settings are missing
Campbell Barton
ideasman42 at gmail.com
Tue Feb 19 15:36:26 CET 2013
Revision: 54667
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54667
Author: campbellbarton
Date: 2013-02-19 14:36:26 +0000 (Tue, 19 Feb 2013)
Log Message:
-----------
fix [#34033] Mesh customdata settings are missing
Mesh edge number buttons were removed when the custom-data layers weren't present.
More of a usability regression than a bug.
Modified Paths:
--------------
trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c
Modified: trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c 2013-02-19 14:19:53 UTC (rev 54666)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c 2013-02-19 14:36:26 UTC (rev 54667)
@@ -222,6 +222,9 @@
}
}
}
+ else {
+ totedgedata = bm->totedgesel;
+ }
/* check for defgroups */
if (evedef)
@@ -427,26 +430,16 @@
/* Meshes... */
if (meshdata) {
if (totedgedata) {
- Mesh *me = ob->data;
- BMEditMesh *em = me->edit_btmesh;
- BMesh *bm = em->bm;
-
- const int cd_edge_bweight_offset = CustomData_get_offset(&bm->edata, CD_BWEIGHT);
- const int cd_edge_crease_offset = CustomData_get_offset(&bm->edata, CD_CREASE);
-
- if (cd_edge_crease_offset != -1) {
- uiDefButF(block, NUM, B_OBJECTPANELMEDIAN,
- totedgedata == 1 ? IFACE_("Crease:") : IFACE_("Mean Crease:"),
- 0, yi -= buth + but_margin, 200, buth,
- &(tfp->ve_median[M_CREASE]), 0.0, 1.0, 1, 3, TIP_("Weight used by SubSurf modifier"));
- }
-
- if (cd_edge_bweight_offset != -1) {
- uiDefButF(block, NUM, B_OBJECTPANELMEDIAN,
- totedgedata == 1 ? IFACE_("Bevel Weight:") : IFACE_("Mean Bevel Weight:"),
- 0, yi -= buth + but_margin, 200, buth,
- &(tfp->ve_median[M_WEIGHT]), 0.0, 1.0, 1, 3, TIP_("Weight used by Bevel modifier"));
- }
+ /* customdata layer added on demand */
+ uiDefButF(block, NUM, B_OBJECTPANELMEDIAN,
+ totedgedata == 1 ? IFACE_("Crease:") : IFACE_("Mean Crease:"),
+ 0, yi -= buth + but_margin, 200, buth,
+ &(tfp->ve_median[M_CREASE]), 0.0, 1.0, 1, 3, TIP_("Weight used by SubSurf modifier"));
+ /* customdata layer added on demand */
+ uiDefButF(block, NUM, B_OBJECTPANELMEDIAN,
+ totedgedata == 1 ? IFACE_("Bevel Weight:") : IFACE_("Mean Bevel Weight:"),
+ 0, yi -= buth + but_margin, 200, buth,
+ &(tfp->ve_median[M_WEIGHT]), 0.0, 1.0, 1, 3, TIP_("Weight used by Bevel modifier"));
}
if (totskinradius) {
uiDefButF(block, NUM, B_OBJECTPANELMEDIAN,
@@ -529,7 +522,8 @@
}
if (median[M_CREASE] != 0.0f) {
- const int cd_edge_crease_offset = CustomData_get_offset(&bm->edata, CD_CREASE);
+ const int cd_edge_crease_offset = (BM_mesh_cd_flag_ensure(bm, me, ME_CDFLAG_EDGE_CREASE),
+ CustomData_get_offset(&bm->edata, CD_CREASE));
const float sca = compute_scale_factor(ve_median[M_CREASE], median[M_CREASE]);
BMEdge *eed;
@@ -561,7 +555,8 @@
}
if (median[M_WEIGHT] != 0.0f) {
- const int cd_edge_bweight_offset = CustomData_get_offset(&bm->edata, CD_BWEIGHT);
+ const int cd_edge_bweight_offset = (BM_mesh_cd_flag_ensure(bm, me, ME_CDFLAG_EDGE_BWEIGHT),
+ CustomData_get_offset(&bm->edata, CD_BWEIGHT));
const float sca = compute_scale_factor(ve_median[M_WEIGHT], median[M_WEIGHT]);
BMEdge *eed;
More information about the Bf-blender-cvs
mailing list