ID 390137 - When expression linking knobs, the value() method appears to return the incorrect value

Follow

Problem summary
When expression linking knobs, the value() method appears to return the incorrect value.

 

Customer reported platform
CentOS 7

 

Steps to reproduce

 

1) Paste the following code into the node graph:


set cut_paste_input [stack 0]version 11.3 v3push $cut_paste_inputNoOp { name NoOp1 selected true xpos -71 ypos -176 addUserKnob {20 User} addUserKnob {7 anim} anim {{curve x1 0 x100 1}}}NoOp { inputs 0 name NoOp2 selected true xpos 119 ypos -119 addUserKnob {20 User} addUserKnob {7 expr} expr {{"\[python nuke.toNode('NoOp1')\\\['anim'\\].value()]"}}}

The 'anim' knob is animated from 0 to 1 across 100 frames and the 'expr' knob is expression linked with nuke.toNode('NoOp1')['anim'].value()

 

2) Open the Properties panels for each node (double click the node) and attach the Viewer to NoOp2.

 

3) Change between different frames in the Viewer. Notice that the 'expr' knob will show the value of the previous frame.

 

Expected behaviour
The 'anim' and 'expr' knobs should always show the same value.

 

Actual behaviour

The 'expr' knob will show the value of the previous frame.

 

Workaround
The issue doesn't seem to occur if you replace value() with getValueAt(nuke.frame()) in the 'expr' knobs expression.

 

Reproduced by support
This bug has been reproduced in:

Nuke 11.3v3 - Windows 10 - macOS 10.13 (High Sierra) - Linux CentOS 6

Nuke 11.3v1 - Windows 10

Nuke 11.2v1 - Windows 10

Nuke 11.1v1 - Windows 10

Nuke 11.0v1 - Windows 10

Nuke 10.5v1 - Windows 10

Nuke 10.0v1 - Windows 10

Nuke 9.0v1 - Windows 10

Nuke 8.0v1 - Windows 10 - macOS 10.13 (High Sierra) - Linux CentOS 6

 

Earliest version tested
Nuke 8.0v1
- This issue appears to be in all versions of the product

 

 

    We're sorry to hear that

    Please tell us why