diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-03-07 01:42:03 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-03-07 01:42:03 +0400 |
commit | 7c59666a278d086b10f9e3dd0f13b5009ba30271 (patch) | |
tree | 6b6968967cc504f05820a1bc2beb726725c12f91 /source/blender/makesrna/intern/rna_scene.c | |
parent | 2fd7a56526a356a984e5c03354834bd7ada94014 (diff) |
Mango request: for range buttons copy start+1 to end if start>=0
Also copy end-1 to start if changing end boundary and end<=start.
Scene's start/end frames and ghost range in armature buttons are affected.
Diffstat (limited to 'source/blender/makesrna/intern/rna_scene.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_scene.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index 4c4123b2ed3..2305ff770a3 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -466,15 +466,23 @@ static void rna_Scene_start_frame_set(PointerRNA *ptr, int value) { Scene *data = (Scene*)ptr->data; /* MINFRAME not MINAFRAME, since some output formats can't taken negative frames */ - CLAMP(value, MINFRAME, data->r.efra); + CLAMP(value, MINFRAME, MAXFRAME); data->r.sfra = value; + + if (data->r.sfra >= data->r.efra) { + data->r.efra = MIN2(data->r.sfra + 1, MAXFRAME); + } } static void rna_Scene_end_frame_set(PointerRNA *ptr, int value) { Scene *data = (Scene*)ptr->data; - CLAMP(value, data->r.sfra, MAXFRAME); + CLAMP(value, MINFRAME, MAXFRAME); data->r.efra = value; + + if (data->r.sfra >= data->r.efra) { + data->r.sfra = MAX2(data->r.efra - 1, MINFRAME); + } } static void rna_Scene_use_preview_range_set(PointerRNA *ptr, int value) |