Bugzilla – Bug 14134
App Gallery menu refresh breaks ip3k menu (curDepth not defined?)
Last modified: 2009-10-05 14:33:34 UTC
Transporter firmware 80 Hello All, When trying add Apps via the Transporter UI, you cannot get past "Launch XXX Now" or "Return to App Gallery" (either using the Remote or the Center Knob) Steps to recreate:(you can use any App, I just chose Live365) On the Transporter: -Go to App Gallery -Go to Radio Networks -Choose a Live365 Walk through installing the App (doesn't matter if you add shortcut or not your home menu) Try to Launching the App or returning to App Gallery. Thanks, LaRon
Triode: Do you know how the curDepth param works? It seems this is not set when browsing into App Gallery. Maybe having an XMLBrowser menu on the home menu causes problems? After you add an app, the home menu is refreshed via the fetch_players function in Slim::Networking::SqueezeNetwork::Players, but this code is not working properly: # this is only for top level, so shortcut out if player is not at top level if ($client->curDepth()) { $client->update(); return; } $client->modeParam('listRef', \@home); curDepth is not set here, so the real submenu is getting clobbered by a copy of the home menu.
Could you look at the depth of $client->modeStack rather than curDepth if all you want to check is whether you are currently at the top level? (best ask kdf if you want to know about the home menu customisations)
Good idea. The modeStack when you're on the home menu and call updateMenu is ["home", "INPUT.List"]. Does that look right to you?
On SC Home's setMode will push into input.list. On SN it looks like it pushes pushes xmlbrowser and so in that case you probably get an extra level. So that looks right for SC, but for SN you probably see one more level.
The home menu on SN should be the same, so I will check for scalar @{ $client->modeStack } > 2
== Auto-comment from SVN commit #28588 to the slim repo by andy == == https://svn.slimdevices.com/slim?view=revision&revision=28588 == Fixed bug 14134, check current menu depth with modeStack instead of curDepth (what is that for anyway?)
curDepth is for checking the "horizontal" position in the menu structure. Look at %Slim::Buttons::Home::home. curSelection records which item was last chosen in each list. cureDepth gives the path through the hash to the current level (breaks often now that multiple paths are so common). The 'generic' menu modes were not commonly used when the home menu modules were created. Those, in combination with the increase of multiple-points-of-entry are breaking the code, which wasn't really designed with that kind of flexibility in mind. I had been hoping that we would be able to have agreed on a standard tree structure to navigate rather than hacking up a sequence of INPUT.List pathways (which is no longer the case as we the various modes are very different from INPUT.List)
This bug has been marked as fixed in the 7.4.0 release version of SqueezeBox Server! * SqueezeCenter: 28672 * Squeezebox 2 and 3: 130 * Transporter: 80 * Receiver: 65 * Boom: 50 * Controller: 7790 * Radio: 7790 Please see the Release Notes for all the details: http://wiki.slimdevices.com/index.php/Release_Notes If you haven't already, please download and install the new version from http://www.logitechsqueezebox.com/support/download-squeezebox-server.html If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.