The CustomBrowse plugin appears to be cloning the INPUT.Choice mode for use as the mode PLUGIN.CustomBrowse.Choice (and making some modifications). What I believe the issue to be is that Erland appears to be chaining together PLUGIN.CustomBrowse.Choice modes in the modeStack, but INPUT.Choice was not designed to be used in that way, the intent was to have intermediate modes.
Intended: Home -> INPUT.List -> xmlbrowser -> INPUT.Choice -> xmlbrowser -> INPUT.Choice -> xmlbrowser -> INPUT.Choice In CustomBrowse: Home -> INPUT.List -> PLUGIN.CustomBrowse.Browse -> PLUGIN.CustomBrowse.Choice -> PLUGIN.CustomBrowse.Choice -> PLUGIN.CustomBrowse.Choice The passback function in INPUT.Choice was written such that it only ascends a single level, to the modeParent of the current mode, so when you chain that mode or a derivative of that mode together you get an infinite loop, as the passback function keeps calling itself in the mode before the current mode. As long as there are no useMode parameters in the menu tree, it seems like an acceptable shortcut for CustomBrowse would be to replace the passback function cloned from INPUT.Choice with one that resends the button press to the PLUGIN.CustomBrowse.Browse mode instead of parentMode. Alternately, the search, stop, and pause mappings in the plugin (including the loop in initPlugin as well as the %choiceMapping hash) could be removed to allow the default mapping of pause.single to pause, pause.hold to stop, stop to stop, and search to globalsearch. Since those functions are not implemented in the CustomBrowse plugin, the functions from Common would be used, and should result in the user-expected action occurring. ------------------------------------------------------------------------ Grotus's Profile: http://forums.slimdevices.com/member.php?userid=887 View this thread: http://forums.slimdevices.com/showthread.php?t=30908 _______________________________________________ beta mailing list [email protected] http://lists.slimdevices.com/mailman/listinfo/beta
