A bug has appeared on Firmware 7.7.0.4094 (this did not occur on 7.6.0.4120):
The following line crashed the app (caused: BRIGHTSCRIPT: ERROR: roSGNode.Unknown: unknown failure):
scene.setField("extra", m.top.extra)
This is the correct way to set the "extra" property of the scene, according to the Roku documentation:
https://sdkdocs.roku.com/display/sdkdoc/ifSGNodeField#ifSGNodeField-setField(fieldNameasString,valueasObject)asBooleanAccording to that page, there are two ways of accomplishing the exact same thing:
"You can also use the node.field syntax to get the same result as setField(). That is, rect.setField("opacity", 0.5) is equivalent to rect.opacity = 0.5."As an unlikely shot in the dark, I tried switching to the other syntax:
scene.extra = m.top.extra
... and viola! The issue was resolved. This seems to be a bug in Roku's new Firmware (7.7.0.4094)
More info:
Using a Roku 4 (4400)
The
scene object was built as follows:
screen = CreateObject("roSGScreen")
scene = screen.CreateScene(m.top.scene)
m.top.scene is a valid string (equal to the name of my scene), and
m.top.extra is a valid string:
<interface>
<field id="scene" type="string" />
<field id="extra" type="string" />
</interface>