[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59754] trunk/blender/source/blender: add checks for bad args to RNA_def_property_ui_range & RNA_def_property_range and fix one instance where (min > max).
Campbell Barton
ideasman42 at gmail.com
Tue Sep 3 00:28:19 CEST 2013
Revision: 59754
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59754
Author: campbellbarton
Date: 2013-09-02 22:28:18 +0000 (Mon, 02 Sep 2013)
Log Message:
-----------
add checks for bad args to RNA_def_property_ui_range & RNA_def_property_range and fix one instance where (min > max).
also remove redundant float/double conversion in ui_get_but_step_unit()
Modified Paths:
--------------
trunk/blender/source/blender/editors/interface/interface.c
trunk/blender/source/blender/makesrna/intern/rna_define.c
trunk/blender/source/blender/makesrna/intern/rna_modifier.c
Modified: trunk/blender/source/blender/editors/interface/interface.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface.c 2013-09-02 22:24:44 UTC (rev 59753)
+++ trunk/blender/source/blender/editors/interface/interface.c 2013-09-02 22:28:18 UTC (rev 59754)
@@ -1807,12 +1807,14 @@
static float ui_get_but_step_unit(uiBut *but, float step_default)
{
int unit_type = RNA_SUBTYPE_UNIT_VALUE(uiButGetUnitType(but));
- float step;
+ double step;
step = bUnit_ClosestScalar(ui_get_but_scale_unit(but, step_default), but->block->unit->system, unit_type);
- if (step > 0.0f) { /* -1 is an error value */
- return (float)((double)step / ui_get_but_scale_unit(but, 1.0)) * 100.0f;
+ /* -1 is an error value */
+ if (step != -1.0) {
+ BLI_assert(step > 0.0);
+ return (float)(step / ui_get_but_scale_unit(but, 1.0)) * 100.0f;
}
else {
return step_default;
Modified: trunk/blender/source/blender/makesrna/intern/rna_define.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_define.c 2013-09-02 22:24:44 UTC (rev 59753)
+++ trunk/blender/source/blender/makesrna/intern/rna_define.c 2013-09-02 22:28:18 UTC (rev 59754)
@@ -1321,6 +1321,26 @@
{
StructRNA *srna = DefRNA.laststruct;
+#ifdef DEBUG
+ if (min > max) {
+ fprintf(stderr, "%s: \"%s.%s\", min > max.\n",
+ __func__, srna->identifier, prop->identifier);
+ DefRNA.error = 1;
+ }
+
+ if (step < 0 || step > 100) {
+ fprintf(stderr, "%s: \"%s.%s\", step outside range.\n",
+ __func__, srna->identifier, prop->identifier);
+ DefRNA.error = 1;
+ }
+
+ if (precision < -1 || precision > 10) {
+ fprintf(stderr, "%s: \"%s.%s\", step outside range.\n",
+ __func__, srna->identifier, prop->identifier);
+ DefRNA.error = 1;
+ }
+#endif
+
switch (prop->type) {
case PROP_INT:
{
@@ -1366,6 +1386,14 @@
{
StructRNA *srna = DefRNA.laststruct;
+#ifdef DEBUG
+ if (min > max) {
+ fprintf(stderr, "%s: \"%s.%s\", min > max.\n",
+ __func__, srna->identifier, prop->identifier);
+ DefRNA.error = 1;
+ }
+#endif
+
switch (prop->type) {
case PROP_INT:
{
Modified: trunk/blender/source/blender/makesrna/intern/rna_modifier.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_modifier.c 2013-09-02 22:24:44 UTC (rev 59753)
+++ trunk/blender/source/blender/makesrna/intern/rna_modifier.c 2013-09-02 22:28:18 UTC (rev 59754)
@@ -2781,7 +2781,7 @@
RNA_def_property_update(prop, 0, "rna_Modifier_update");
prop = RNA_def_property(srna, "angle", PROP_FLOAT, PROP_ANGLE);
- RNA_def_property_ui_range(prop, 0, -M_PI * 2, M_PI * 2, 2);
+ RNA_def_property_ui_range(prop, -M_PI * 2, M_PI * 2, 2, -1);
RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);
RNA_def_property_ui_text(prop, "Angle", "Angle of revolution");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
More information about the Bf-blender-cvs
mailing list