Fix #124566: Compositor Normal node does not update
Changes to the compositor Normal node does not propagate and the compositor result is not updated. That's because the node is a special case since its output socket value is used as its input property, which is not tracked by the node update code. Apparently, a similar node exists in shader nodes, and a workaround is implemented for that node in the node updater, so we just need to extend that check to include the compositor node as well. Pull Request: https://projects.blender.org/blender/blender/pulls/133803
This commit is contained in:
@@ -1547,7 +1547,9 @@ class NodeTreeMainUpdater {
|
||||
}
|
||||
/* The Normal node has a special case, because the value stored in the first output
|
||||
* socket is used as input in the node. */
|
||||
if (node.is_type("ShaderNodeNormal") && socket.index() == 1) {
|
||||
if ((node.is_type("ShaderNodeNormal") || node.is_type("CompositorNodeNormal")) &&
|
||||
socket.index() == 1)
|
||||
{
|
||||
BLI_assert(STREQ(socket.name, "Dot"));
|
||||
const bNodeSocket &normal_output = node.output_socket(0);
|
||||
BLI_assert(STREQ(normal_output.name, "Normal"));
|
||||
|
||||
Reference in New Issue
Block a user