diff options
author | Lukas Toenne <lukas.toenne@googlemail.com> | 2011-11-06 19:40:00 +0400 |
---|---|---|
committer | Lukas Toenne <lukas.toenne@googlemail.com> | 2011-11-06 19:40:00 +0400 |
commit | b05ee8b65f453d97edb4dbe59fac5c996fbf78d2 (patch) | |
tree | 32fbbb6158f647d218f4bc9e09c7f9404c61ff78 /source | |
parent | d8717d2628b3b57f2c5a60a417806d903a531179 (diff) |
Fix for bug #29046, the factor buffer input was not used correctly in curve nodes.
Curve Map exec function (for RGB curves) used a broken test condition for constant factor=1.0f eval. This must take the factor buffer into account, checking the factor vec for default value is not sufficient. These kinds of test should use a function interface, there are probably a lot more bugs like this hidden in the code.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/nodes/composite/nodes/node_composite_curves.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/nodes/composite/nodes/node_composite_curves.c b/source/blender/nodes/composite/nodes/node_composite_curves.c index 675710942fb..7faf10138ad 100644 --- a/source/blender/nodes/composite/nodes/node_composite_curves.c +++ b/source/blender/nodes/composite/nodes/node_composite_curves.c @@ -175,7 +175,7 @@ static void node_composit_exec_curve_rgb(void *UNUSED(data), bNode *node, bNodeS curvemapping_set_black_white(node->storage, in[2]->vec, in[3]->vec); - if(in[0]->vec[0] == 1.0) + if(in[0]->data==NULL && in[0]->vec[0] == 1.0) composit1_pixel_processor(node, stackbuf, in[1]->data, in[1]->vec, do_curves, CB_RGBA); else composit2_pixel_processor(node, stackbuf, in[1]->data, in[1]->vec, in[0]->data, in[0]->vec, do_curves_fac, CB_RGBA, CB_VAL); |