Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Search instead for 
Did you mean: 
gabek
Level 7

Adding to a PanelSet causes a device reset

I have a single PanelSet at the root of my scene (created by an OverhangPanelSetScene). For convenience, I've assigned the PanelSet to m.global.panelSet.  The first time I add something to the PanelSet's stack it works fine, but any further attempts will always crash the entire device with no errors.

For example.
Scene -> PanelSet -> PanelA is added right away when the PanelSet is created -> PanelB is appended to the stack from a user action -> Attempt to add PanelC from a user action will always crash.
And it's just using the simple child interface to add them:

m.newPanel = createObject("roSGNode", "NewCustomPanel")
m.global.panelSet.appendChild(m.newPanel)


As a sanity check I've verified that m.global.panelSet is what I expect it to be, and it looks like a sane PanelSet.

Is there anything about my interpretation of Panels that is wrong?  Seems like I should be able to continue to add to the Panel stack without any issues.
0 Kudos
10 Replies
gabek
Level 7

Re: Adding to a PanelSet causes a device reset

After some trial and error, I found it seems to be a very specific case.  Only when a panel has m.top.isFullScreen set to true when adding it to the PanelSet does this crash happen.  Setting it to false or not setting it at all will not result in the device restarting itself.
0 Kudos
gabek
Level 7

Re: Adding to a PanelSet causes a device reset

Maybe a simple question is: What is the best practice for adding to a PanelSet?  Is creating a reference to it in the global node so child Panels can append additional children to it the way it's supposed to be done?  All the Roku provided examples seem to only add children from the node that created the panelSet itself, but I guess I don't understand how that's useful in an app where navigation can fork.
0 Kudos
gabek
Level 7

Re: Adding to a PanelSet causes a device reset

Trying a different approach by only using a GridPanel's "nextPanel" to add Panels to the PanelSet stack and the results are the same.
0 Kudos
Roku Employee
Roku Employee

Re: Adding to a PanelSet causes a device reset

`panel.isFullScreen = true` causing a crash might be a bug.
What device model# / firmware versions?
0 Kudos
gabek
Level 7

Re: Adding to a PanelSet causes a device reset

I'm using a 4640X on 7.6.0 build 4120-29.  I emailed developer support per your suggestion in PM and I'll keep this thread updated if I get anything back.
0 Kudos
Roku Employee
Roku Employee

Re: Adding to a PanelSet causes a device reset

Ok - so there is a bug causing crash-reboot if setting the right panel to full screen. It will be fixed but not soon.
0 Kudos
nmaves
Level 7

Re: Adding to a PanelSet causes a device reset

Any update or work around for adding panels that are full width?
0 Kudos
joetesta
Level 10

Re: Adding to a PanelSet causes a device reset

"nmaves" wrote:
Any update or work around for adding panels that are full width?

(although for all i know this is fixed in 7.7?) Think I have a workaround, by adding two new panels on the right, one wide, one narrow.  The narrow one on the far right, leave it empty, set focusable=false.  The wide panel, just populate with content sized and translated as if you own the full screen.  This idea seemed to work in the experiments I was doing last week.
aspiring
0 Kudos
nmaves
Level 7

Re: Adding to a PanelSet causes a device reset

Is there any work from Roku when this might be fixed or a solid work around?

My panel set starts with a narrow on the left and a wide on the right.  When the right panel gains focus it converts to a fullscreen panel.  Then when an item on that panel is selected I add another fullscreen panel.  BOOM! blows sky high.

If I don't let the first right panel convert to a fullscreen panel everything works but that is not the behavior that I am looking for.
0 Kudos