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

Event Timeline

Philipp Oeser (lichtwerk) triaged this task as Confirmed, Medium priority.

@Sergey Sharybin (sergey): mind sharing your wisdom?