[Bf-committers] Python API change breaks Rigify

Nathan Vegdahl cessen at cessen.com
Thu Feb 14 14:59:50 CET 2013


I'm having difficulty tracking down the revision that caused this, but
this error is now coming up in Rigify:

----
Traceback (most recent call last):
  File "/home/cessen/Projects/blender/build/bin/2.65/scripts/addons/rigify/ui.py",
line 173, in draw
    bone.rigify_parameters.add()
AttributeError: Writing to ID classes in this context is not allowed:
Armature, Object datablock, error setting PoseBone.
----

It appears to be caused by a change in the Python API (this code
worked before).  It seems that ID classes can no longer be written to
within the draw method of Panels.  What is the benefit of this
restriction, and why do we need it?

And in the mean time, can we please revert that restriction so that
Rigify (and possibly other existing code) continues to function as
before?

For those who are curious: to reproduce the error in Rigify, you have
to manually construct a metarig, adding a rig type to a new bone.  The
default human metarig does not give this error because of how it is
auto-constructed.  The error is emitted to stdout, and does not show
up as a python in Blender's UI.  However, it does break Rigify
functionality.

--Nathan


More information about the Bf-committers mailing list