diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-05-23 20:30:36 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-05-23 20:30:36 +0400 |
commit | f5055d86887a2c139080f26ab0ba9a00cf077ef6 (patch) | |
tree | dc1eff40edd2de0d7bbfd50cc99d716d46c6ef87 /source/blender/makesrna/intern | |
parent | 5811076d0dd9df7f87837160c4eea168a0a1e256 (diff) |
Some operation allowed to set invalid active scene render layer
Forbid this now and do tricks in the versioning code to repair
corrupted files.
Thanks to Pablo, Caminandes and Koro for discovering this bug!
Diffstat (limited to 'source/blender/makesrna/intern')
-rw-r--r-- | source/blender/makesrna/intern/rna_scene.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index 82dae1da498..8283490226d 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -1059,7 +1059,8 @@ static int rna_RenderSettings_active_layer_index_get(PointerRNA *ptr) static void rna_RenderSettings_active_layer_index_set(PointerRNA *ptr, int value) { RenderData *rd = (RenderData *)ptr->data; - rd->actlay = value; + int num_layers = BLI_countlist(&rd->layers); + rd->actlay = min_ff(value, num_layers - 1); } static void rna_RenderSettings_active_layer_index_range(PointerRNA *ptr, int *min, int *max, |