From 7c59666a278d086b10f9e3dd0f13b5009ba30271 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 6 Mar 2012 21:42:03 +0000 Subject: 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. --- source/blender/makesrna/intern/rna_armature.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'source/blender/makesrna/intern/rna_armature.c') diff --git a/source/blender/makesrna/intern/rna_armature.c b/source/blender/makesrna/intern/rna_armature.c index ba93f27e5a3..b6d07d079f1 100644 --- a/source/blender/makesrna/intern/rna_armature.c +++ b/source/blender/makesrna/intern/rna_armature.c @@ -234,15 +234,23 @@ static void rna_Armature_layer_set(PointerRNA *ptr, const int *values) static void rna_Armature_ghost_start_frame_set(PointerRNA *ptr, int value) { bArmature *data = (bArmature*)ptr->data; - CLAMP(value, 1, data->ghostef); + CLAMP(value, 1, (int)(MAXFRAMEF/2)); data->ghostsf = value; + + if (data->ghostsf >= data->ghostef) { + data->ghostef = MIN2(data->ghostsf + 1, (int)(MAXFRAMEF/2)); + } } static void rna_Armature_ghost_end_frame_set(PointerRNA *ptr, int value) { bArmature *data = (bArmature*)ptr->data; - CLAMP(value, data->ghostsf, (int)(MAXFRAMEF/2)); + CLAMP(value, 1, (int)(MAXFRAMEF/2)); data->ghostef = value; + + if (data->ghostsf >= data->ghostef) { + data->ghostsf = MAX2(data->ghostef - 1, 1); + } } /* XXX depreceated... old armature only animviz */ -- cgit v1.2.3