Problem summary
nuke.thisNode() returns root when called from properties or viewer menu
Steps to reproduce
1) Open Nuke.
2) Open a script editor window by clicking on a pane icon, hovering over window, and selecting "script editor."
3) Paste the following code into the script editor:
m = nuke.menu('Properties')
m.addCommand('test', 'nuke.message(nuke.thisNode())')
4) Run the code by pressing the run key in the script editor.
5) Switch to the Node Graph.
6) Create a grade node by pressing "g" on the keyboard.
7) In the properties bin for that node, right click and select "test" at the top.
Result: Error message - "must be string, not Root"
Workaround
Unknown.
Reproduced by support
11.0v2 - Windows 10, OSX Sierra 10.12.5
10.5v5 - Windows 10, OSX Sierra 10.12.5
10.5v1 - Windows 10, OSX Sierra 10.12.5
10.0v6 - Windows 10, OSX Sierra 10.12.5
10.0v1 - Windows 10, OSX Sierra 10.12.5
9.0v9 - Windows 10, OSX Sierra 10.12.5
9.0v1 - Windows 10, OSX Sierra 10.12.5
8.0v7 - Windows 10, OSX Sierra 10.12.5
8.0v1 - Windows 10, OSX Sierra 10.12.5
7.0v10 - Windows 10, OSX Sierra 10.12.5
Earliest version tested
7.0v10
Expected behaviour
nuke.thisNode() should return selected Node
Actual behaviour
nuke.thisNode() returns root