From e7a9bf88d2243bead0ed1b5f9db1f21aef7ea397 Mon Sep 17 00:00:00 2001 From: julianeisel Date: Mon, 5 Jan 2015 21:05:17 +0100 Subject: Fix T43111: Node Editor (Slider) Draw Glitch * don't allow Node Editor input max value to be less then min value * avoid the num slider drawing glitch if softmin equals softmax * assert if softmax/hardmax is smaller than softmin/hardmin With this, we sort of allow softmin/hardmin and softmax/hardmax being the same. --- source/blender/makesrna/intern/rna_nodetree.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'source/blender/makesrna') diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index e672037837a..fa8d2669161 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -2199,6 +2199,10 @@ static void rna_NodeSocketStandard_float_range(PointerRNA *ptr, float *min, floa bNodeSocketValueFloat *dval = sock->default_value; int subtype = sock->typeinfo->subtype; + if (dval->max < dval->min) { + dval->max = dval->min; + } + *min = (subtype == PROP_UNSIGNED ? 0.0f : -FLT_MAX); *max = FLT_MAX; *softmin = dval->min; @@ -2211,6 +2215,10 @@ static void rna_NodeSocketStandard_int_range(PointerRNA *ptr, int *min, int *max bNodeSocketValueInt *dval = sock->default_value; int subtype = sock->typeinfo->subtype; + if (dval->max < dval->min) { + dval->max = dval->min; + } + *min = (subtype == PROP_UNSIGNED ? 0 : INT_MIN); *max = INT_MAX; *softmin = dval->min; @@ -2222,6 +2230,10 @@ static void rna_NodeSocketStandard_vector_range(PointerRNA *ptr, float *min, flo bNodeSocket *sock = ptr->data; bNodeSocketValueVector *dval = sock->default_value; + if (dval->max < dval->min) { + dval->max = dval->min; + } + *min = -FLT_MAX; *max = FLT_MAX; *softmin = dval->min; -- cgit v1.2.3