GNU/Linux 64 bit (Fedora 23), Intel CPU, Nvidia GPU
Broken: 2.77.1 2af4c80
Worked: maybe never
Short description of error
If you add change a renderlayer node's scene layer, the enabled output sockets change to reflect the scene layer's enabled passes. But if you do this within a python script or function, this does not happen until *after* the script has finished running, making it extremely cumbersome to use this node in your script (scene layer passes are not 1 to 1 the same as node layer output names, e.g. Combined -> Image, Alpha, Object Index ->IndexOB etc.)
Exact steps for others to reproduce the error
- First download the included .blend
- Start Blender from a terminal so you can see the script output
- Now run the included test.py and look at the output.
- Note that both print_enabled_sockets() commands give the same enabled sockets, even though the layer has changed
- Note that the two renderlayers in the scene (A and B) have different passes
What I Expect to Happen
At least with some type of refreshing (note the overkill_update() function in the script) I would expect the output to change on the second print_enabled_sockets() command to reflect the renderlayer change.