Bug 14134 - App Gallery menu refresh breaks ip3k menu (curDepth not defined?)
: App Gallery menu refresh breaks ip3k menu (curDepth not defined?)
Status: CLOSED FIXED
Product: SB Transporter
Classification: Unclassified
Component: UI
: 80
: PC Windows XP
: P1 normal (vote)
: 7.4.0
Assigned To: Andy Grundman
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-09-18 15:57 UTC by Walker LaRon
Modified: 2009-10-05 14:33 UTC (History)
9 users (show)

See Also:
Category: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Walker LaRon 2009-09-18 15:57:17 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
Comment 1 Andy Grundman 2009-09-21 08:05:35 UTC
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.
Comment 2 Adrian Smith 2009-09-21 14:00:21 UTC
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)
Comment 3 Andy Grundman 2009-09-21 14:09:47 UTC
Good idea.  The modeStack when you're on the home menu and call updateMenu is ["home", "INPUT.List"].  Does that look right to you?
Comment 4 Adrian Smith 2009-09-21 14:21:53 UTC
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.
Comment 5 Andy Grundman 2009-09-21 14:34:41 UTC
The home menu on SN should be the same, so I will check for scalar @{ $client->modeStack } > 2
Comment 6 SVN Bot 2009-09-21 14:42:53 UTC
 == 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?)
Comment 7 KDF 2009-09-21 15:17:05 UTC
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)
Comment 8 James Richardson 2009-10-05 14:33:34 UTC
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.