ID 490779 - Updating Bake Points in two Node Graph contexts via Python can result in incorrect dirty state

Follow

Problem summary
Updating Bake Points in two Node Graph contexts via Python can result in incorrect dirty state

Customer reported version
Mari 4.7v2

Customer reported platform
CentOS 7

Steps to reproduce

1) Open any project

2) Create two Bake Point nodes, name them 'A' and 'B'

3) Create a Color node and connect the Output to Bake Point A's Input

4) Select the Color node and Bake Point A, then Group them (CTRL+G)

5) Connect the Group node's Output to Bake Point B's Input

6) Bake Bake Point A, then bake Bake Point B

7) Change the Color node's color

8) Select Bake Point B and run the following script in the Python Console:
 

nodeGraph = mari.geo.current().nodeGraph()destNode = nodeGraph.selectedNodeList()[0]upStreamNodes = []for node in nodeGraph.topologicalSortTo(destNode,ReverseOrder=True):    upStreamNodes.append(node)for node in upStreamNodes:    if node.isGroupNode() and not node.hasTag('_shader'):        childNodeGraph = node.childNodeGraph()        for node in childNodeGraph.nodeList():            if node.hasTag('_output'):                for subgraphNode in childNodeGraph.topologicalSortTo(node,ReverseOrder=True):                    upStreamNodes.append(subgraphNode)upStreamNodesOrdered = reversed(upStreamNodes)for node in upStreamNodesOrdered:    if node.isBakePointNode():        print(node.nodeName())        node.deleteBakedResult()        node.bake()
 
Alternative steps
Follow same steps 1-5 above.
6) Open the properties for both A and B.
7) In the node properties, hit Bake for A, then hit Bake for B within 2 seconds of A turning green.

Expected behaviour
The Bake Point nodes should be updated and coloured green.

Actual behaviour
Bake Point B (in the root Node Graph) momentarily goes green after baking has completed, but then switches to a red, dirty state .

Workaround
Unknown.

Reproduced by support
This bug has been reproduced in:
Mari 4.7v4 - Windows 10 - CentOS 7.9
Mari 4.7v1 - Windows 10
Mari 4.6v4 - Windows 10 - CentOS 7.9 - regression

Unable to reproduce bug in:
Mari 4.6v3 - Windows 10 - CentOS 7.9

Earliest version tested
Mari 4.6v3 - This issue doesn't appear in this version and has regressed

    We're sorry to hear that

    Please tell us why