Hello,
I have an app that uses the roPosterScreen as my main menu and other legacy SDK screens for all others. I want to use the Scene Graph API's EPGGrid for just one screen in my app. I've got the grid working fine by itself, but when I close it and go back to the main menu, the app exits. I'm showing the EPGGrid using the standard method as described in the docs:
sub showEpgGrid()
screen = CreateObject("roSGScreen")
port = CreateObject("roMessagePort")
screen.setMessagePort(port)
scene = screen.CreateScene("rcgridscene")
screen.show()
while true
msg = wait(0, port)
if msg.isScreenClosed() then
return
end if
end while
end sub
My main method shows the main menu and handles screen navigation just like on this page
https://sdkdocs.roku.com/display/sdkdoc/Working+with+Screens right under the "Code Structure" title.
The problem is that when the scene graph screen is closed, instead of going back to the main menu, the whole app closes. After doing some debugging, it's also marking my main menu's roPosterScreen as "closed" even though it shouldn't be and the app is exiting prematurely. If I disable the check for "isScreenClosed()" on the main menu, the app will not exit, and the main menu is visible, but will no longer respond to key presses from the remote.
Is it possible to just use Scene Graph for one screen in a legacy app and have all the screens play nice?