[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45042] trunk/blender/source/blender/ editors: disable re-using 'number_cuts' setting on operators, problem was that you could subdiv a plane many times but then go to subdivide a high poly mesh and it would start with really high subdiv value (possibly running out of ram and crashing).
Campbell Barton
ideasman42 at gmail.com
Tue Mar 20 23:27:17 CET 2012
Revision: 45042
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45042
Author: campbellbarton
Date: 2012-03-20 22:27:08 +0000 (Tue, 20 Mar 2012)
Log Message:
-----------
disable re-using 'number_cuts' setting on operators, problem was that you could subdiv a plane many times but then go to subdivide a high poly mesh and it would start with really high subdiv value (possibly running out of ram and crashing).
Modified Paths:
--------------
trunk/blender/source/blender/editors/armature/editarmature.c
trunk/blender/source/blender/editors/curve/editcurve.c
trunk/blender/source/blender/editors/mesh/bmesh_tools.c
trunk/blender/source/blender/editors/mesh/loopcut.c
Modified: trunk/blender/source/blender/editors/armature/editarmature.c
===================================================================
--- trunk/blender/source/blender/editors/armature/editarmature.c 2012-03-20 22:00:21 UTC (rev 45041)
+++ trunk/blender/source/blender/editors/armature/editarmature.c 2012-03-20 22:27:08 UTC (rev 45042)
@@ -3584,6 +3584,8 @@
void ARMATURE_OT_subdivide(wmOperatorType *ot)
{
+ PropertyRNA *prop;
+
/* identifiers */
ot->name= "Subdivide Multi";
ot->idname= "ARMATURE_OT_subdivide";
@@ -3597,7 +3599,9 @@
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
/* Properties */
- RNA_def_int(ot->srna, "number_cuts", 1, 1, INT_MAX, "Number of Cuts", "", 1, 10);
+ prop = RNA_def_int(ot->srna, "number_cuts", 1, 1, INT_MAX, "Number of Cuts", "", 1, 10);
+ /* avoid re-using last var because it can cause _very_ high poly meshes and annoy users (or worse crash) */
+ RNA_def_property_flag(prop, PROP_SKIP_SAVE);
}
/* ----------- */
Modified: trunk/blender/source/blender/editors/curve/editcurve.c
===================================================================
--- trunk/blender/source/blender/editors/curve/editcurve.c 2012-03-20 22:00:21 UTC (rev 45041)
+++ trunk/blender/source/blender/editors/curve/editcurve.c 2012-03-20 22:27:08 UTC (rev 45042)
@@ -3171,6 +3171,8 @@
void CURVE_OT_subdivide(wmOperatorType *ot)
{
+ PropertyRNA *prop;
+
/* identifiers */
ot->name= "Subdivide";
ot->description= "Subdivide selected segments";
@@ -3183,7 +3185,9 @@
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
- RNA_def_int(ot->srna, "number_cuts", 1, 1, INT_MAX, "Number of cuts", "", 1, 10);
+ prop = RNA_def_int(ot->srna, "number_cuts", 1, 1, INT_MAX, "Number of cuts", "", 1, 10);
+ /* avoid re-using last var because it can cause _very_ high poly meshes and annoy users (or worse crash) */
+ RNA_def_property_flag(prop, PROP_SKIP_SAVE);
}
/******************** find nearest ************************/
Modified: trunk/blender/source/blender/editors/mesh/bmesh_tools.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/bmesh_tools.c 2012-03-20 22:00:21 UTC (rev 45041)
+++ trunk/blender/source/blender/editors/mesh/bmesh_tools.c 2012-03-20 22:27:08 UTC (rev 45042)
@@ -120,6 +120,8 @@
void MESH_OT_subdivide(wmOperatorType *ot)
{
+ PropertyRNA *prop;
+
/* identifiers */
ot->name = "Subdivide";
ot->description = "Subdivide selected edges";
@@ -133,7 +135,10 @@
ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
/* properties */
- RNA_def_int(ot->srna, "number_cuts", 1, 1, INT_MAX, "Number of Cuts", "", 1, 10);
+ prop = RNA_def_int(ot->srna, "number_cuts", 1, 1, INT_MAX, "Number of Cuts", "", 1, 10);
+ /* avoid re-using last var because it can cause _very_ high poly meshes and annoy users (or worse crash) */
+ RNA_def_property_flag(prop, PROP_SKIP_SAVE);
+
/* BMESH_TODO, this currently does nothing, just add to stop UI from erroring out! */
RNA_def_float(ot->srna, "smoothness", 0.0f, 0.0f, FLT_MAX, "Smoothness", "Smoothness factor (BMESH TODO)", 0.0f, 1.0f);
@@ -1240,6 +1245,8 @@
void MESH_OT_edge_split(wmOperatorType *ot)
{
+ PropertyRNA *prop;
+
/* identifiers */
ot->name = "Edge Split";
ot->idname = "MESH_OT_edge_split";
@@ -1251,7 +1258,10 @@
/* flags */
ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
- RNA_def_int(ot->srna, "number_cuts", 1, 1, 10, "Number of Cuts", "", 1, INT_MAX);
+ prop = RNA_def_int(ot->srna, "number_cuts", 1, 1, 10, "Number of Cuts", "", 1, INT_MAX);
+
+ /* avoid re-using last var because it can cause _very_ high poly meshes and annoy users (or worse crash) */
+ RNA_def_property_flag(prop, PROP_SKIP_SAVE);
}
/****************** add duplicate operator ***************/
Modified: trunk/blender/source/blender/editors/mesh/loopcut.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/loopcut.c 2012-03-20 22:00:21 UTC (rev 45041)
+++ trunk/blender/source/blender/editors/mesh/loopcut.c 2012-03-20 22:27:08 UTC (rev 45042)
@@ -564,6 +564,8 @@
void MESH_OT_loopcut (wmOperatorType *ot)
{
+ PropertyRNA *prop;
+
/* description */
ot->name= "Loop Cut";
ot->idname= "MESH_OT_loopcut";
@@ -579,5 +581,7 @@
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
/* properties */
- RNA_def_int(ot->srna, "number_cuts", 1, 1, INT_MAX, "Number of Cuts", "", 1, 10);
+ prop = RNA_def_int(ot->srna, "number_cuts", 1, 1, INT_MAX, "Number of Cuts", "", 1, 10);
+ /* avoid re-using last var because it can cause _very_ high poly meshes and annoy users (or worse crash) */
+ RNA_def_property_flag(prop, PROP_SKIP_SAVE);
}
More information about the Bf-blender-cvs
mailing list