diff options
author | Sebastian Parborg <darkdefende@gmail.com> | 2020-01-17 17:10:17 +0300 |
---|---|---|
committer | Sebastian Parborg <darkdefende@gmail.com> | 2020-01-17 17:10:17 +0300 |
commit | 9410e5dc97c4f21e19865ca8a9e1e185fcf5a1d4 (patch) | |
tree | b2a373adf59bc9c0dc54c75b855f66bf439e90da /source/blender/makesrna/intern/rna_scene.c | |
parent | 1e91d9d4dc49b09d53a1b544174ec245c4e8e684 (diff) |
Make the scene preview range not clamp the start/end values
This will make this consistent with the behaviour of other start/end
ranges in blender. So start/end will instead be adjusted to always
satisfy the "start >= end" requirement instead of clamping the values.
Diffstat (limited to 'source/blender/makesrna/intern/rna_scene.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_scene.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index ea1fb1eb489..7d35a1c5e2a 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -941,8 +941,8 @@ static void rna_Scene_start_frame_set(PointerRNA *ptr, int value) CLAMP(value, MINFRAME, MAXFRAME); data->r.sfra = value; - if (data->r.sfra >= data->r.efra) { - data->r.efra = MIN2(data->r.sfra, MAXFRAME); + if (value > data->r.efra) { + data->r.efra = MIN2(value, MAXFRAME); } } @@ -952,8 +952,8 @@ static void rna_Scene_end_frame_set(PointerRNA *ptr, int value) CLAMP(value, MINFRAME, MAXFRAME); data->r.efra = value; - if (data->r.sfra >= data->r.efra) { - data->r.sfra = MAX2(data->r.efra, MINFRAME); + if (data->r.sfra > value) { + data->r.sfra = MAX2(value, MINFRAME); } } @@ -985,10 +985,12 @@ static void rna_Scene_preview_range_start_frame_set(PointerRNA *ptr, int value) /* TODO: or just refuse to set instead? */ data->r.pefra = data->r.efra; } - - /* now set normally */ - CLAMP(value, MINAFRAME, data->r.pefra); + CLAMP(value, MINAFRAME, MAXFRAME); data->r.psfra = value; + + if (value > data->r.pefra) { + data->r.pefra = MIN2(value, MAXFRAME); + } } static void rna_Scene_preview_range_end_frame_set(PointerRNA *ptr, int value) @@ -1001,10 +1003,12 @@ static void rna_Scene_preview_range_end_frame_set(PointerRNA *ptr, int value) /* TODO: or just refuse to set instead? */ data->r.psfra = data->r.sfra; } - - /* now set normally */ - CLAMP(value, data->r.psfra, MAXFRAME); + CLAMP(value, MINAFRAME, MAXFRAME); data->r.pefra = value; + + if (data->r.psfra > value) { + data->r.psfra = MAX2(value, MINAFRAME); + } } static void rna_Scene_show_subframe_update(Main *UNUSED(bmain), |