State:Closed|icon_bug|icon_katana|database:public|Resolution:Fixed|TargetRelease:3.5v3|BugID:416898|
Problem summary:
The OutputChannelDefine DAP does not respect the DAP attrRoot scope. If output channel definition attributes exist in the incoming scene, the top-level __meta attribute is populated even if the attrRoot does not demand it.
Steps to reproduce:
Interface.SetAttr("cookDaps.none", InterfaceUtils.CookDaps("does_not_exist"))
Interface.SetAttr("cookDaps.all", InterfaceUtils.CookDaps("")) Expected behaviour:
The cookDaps.none attribute should be empty, since no DAPs should produce defaults or hints for attributes at or beneath the arbitrary does_not_exist name.
Actual behaviour:
The OutputChannelDefine DAP, enabled by the existence of a renderer output channel, produces defaults and hints for attributes below prmanGlobalStatements, even when scoped to an arbitrary, unused attribute name (in this case does_not_exist).
Workaround:
Aside from performing unnecessary work, the effect of this bug is limited to cases in which unexpected provision of the __meta attribute causes the incoming attribute to be discarded. The workaround is to avoid manually setting attribute hints in the __meta attribute as part of a standard Op.
Tested versions/platforms:
Customer version/platform:
Not supplied
We're sorry to hear that
Please tell us why