From ef88047a97a10283cca21a3fe75c8d69d8fc40eb Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Tue, 23 Nov 2021 12:27:17 +0100 Subject: [PATCH] Fix T89081: Freestyle noise seed of zero crash This leads to division by zero in Freestyle's NoiseShader which also crashes blender. Not sure if we really need a do_version patch for old files, as an alternative we could also force a positive number in the NoiseShader. This patch does not do either, just force a positive range in RNA from now on. Maniphest Tasks: T89081 Differential Revision: https://developer.blender.org/D13332 --- source/blender/makesrna/intern/rna_linestyle.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/source/blender/makesrna/intern/rna_linestyle.c b/source/blender/makesrna/intern/rna_linestyle.c index c47b2ce9042..93e8e4bc31e 100644 --- a/source/blender/makesrna/intern/rna_linestyle.c +++ b/source/blender/makesrna/intern/rna_linestyle.c @@ -949,8 +949,9 @@ static void rna_def_linestyle_modifiers(BlenderRNA *brna) RNA_def_property_ui_text(prop, "Period", "Period of the noise"); RNA_def_property_update(prop, NC_LINESTYLE, "rna_LineStyle_update"); - prop = RNA_def_property(srna, "seed", PROP_INT, PROP_NONE); + prop = RNA_def_property(srna, "seed", PROP_INT, PROP_UNSIGNED); RNA_def_property_int_sdna(prop, NULL, "seed"); + RNA_def_property_range(prop, 1, SHRT_MAX); RNA_def_property_ui_text(prop, "Seed", "Seed for the noise generation"); RNA_def_property_update(prop, NC_LINESTYLE, "rna_LineStyle_update"); @@ -1051,8 +1052,9 @@ static void rna_def_linestyle_modifiers(BlenderRNA *brna) RNA_def_property_ui_text(prop, "Period", "Period of the noise"); RNA_def_property_update(prop, NC_LINESTYLE, "rna_LineStyle_update"); - prop = RNA_def_property(srna, "seed", PROP_INT, PROP_NONE); + prop = RNA_def_property(srna, "seed", PROP_INT, PROP_UNSIGNED); RNA_def_property_int_sdna(prop, NULL, "seed"); + RNA_def_property_range(prop, 1, SHRT_MAX); RNA_def_property_ui_text(prop, "Seed", "Seed for the noise generation"); RNA_def_property_update(prop, NC_LINESTYLE, "rna_LineStyle_update"); @@ -1191,8 +1193,9 @@ static void rna_def_linestyle_modifiers(BlenderRNA *brna) RNA_def_property_ui_text(prop, "Period", "Period of the noise"); RNA_def_property_update(prop, NC_LINESTYLE, "rna_LineStyle_update"); - prop = RNA_def_property(srna, "seed", PROP_INT, PROP_NONE); + prop = RNA_def_property(srna, "seed", PROP_INT, PROP_UNSIGNED); RNA_def_property_int_sdna(prop, NULL, "seed"); + RNA_def_property_range(prop, 1, SHRT_MAX); RNA_def_property_ui_text(prop, "Seed", "Seed for the noise generation"); RNA_def_property_update(prop, NC_LINESTYLE, "rna_LineStyle_update");