Page MenuHome

Assert adding a driver that uses a single property of a scene ID
Open, Confirmed, MediumPublic

Description

System Information
Operating system: fedora 29
Graphics card: 970m

Blender Version
Broken: rBa1ae04d15a9f
Worked: old dependency graph

Short description of error

Seems like drivers cannot use a scene property.
(spotted while looking into T60986 -- Import Images as planes Addon creates a driver using the scenes camera as variable)

Exact steps for others to reproduce the error

with the default scene open:

  • select the cube
  • RMB on any property in the Properties Editor: Add Driver
  • in the following popup: set Driver variable type to Single Property
  • set Type of ID-Block to Scene
  • pick a scene from the list

should assert then (Debug build)

BLI_assert failed: /blender/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc:497, build_id(), at '!"Should never happen"'
there is no such thing as build_scene() for a scene ID, and I am not sure if this should even be there? If so, should it just go over all viewlayers and build these?

in a release build you can continue to enter a RNA path (e.g. "camera" or "use_audio"), but you are then getting something like:
add_relation(RNA Target -> Driver) - Could not find op_from (RnaPathKey(id: SCScene, prop: '<No Prop>'))
add_relation(RNA Target -> Driver) - Could not find op_from (RnaPathKey(id: SCScene, prop: 'use_audio'))

So, not sure if this should/could be supported?
If not, maybe this should be excluded from the UI to choose from?

Details

Type
Bug