Fix a bug whereby ACTION_TREE_WPS (GO_TO_PREVIOUS_MUSIC) brings us to the
radio, despite playback having been started since we last visited the radio. To reproduce: -go to the radio, -stop and exit it, -go to the browser, and do a playlist insert, or start a playlist from the playlist catalog, anything that starts playback without going to the WPS. -Press ACTION_TREE_WPS. Find yourself back into the radio. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15085 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
84ed3fd50f
commit
6d08116691
3 changed files with 16 additions and 1 deletions
|
@ -99,6 +99,7 @@
|
||||||
#include "talk.h"
|
#include "talk.h"
|
||||||
#include "splash.h"
|
#include "splash.h"
|
||||||
#include "rbunicode.h"
|
#include "rbunicode.h"
|
||||||
|
#include "root_menu.h"
|
||||||
|
|
||||||
#define PLAYLIST_CONTROL_FILE ROCKBOX_DIR "/.playlist_control"
|
#define PLAYLIST_CONTROL_FILE ROCKBOX_DIR "/.playlist_control"
|
||||||
#define PLAYLIST_CONTROL_FILE_VERSION 2
|
#define PLAYLIST_CONTROL_FILE_VERSION 2
|
||||||
|
@ -2387,6 +2388,11 @@ int playlist_start(int start_index, int offset)
|
||||||
{
|
{
|
||||||
struct playlist_info* playlist = ¤t_playlist;
|
struct playlist_info* playlist = ¤t_playlist;
|
||||||
|
|
||||||
|
/* Cancel FM radio selection as previous music. For cases where we start
|
||||||
|
playback without going to the WPS, such as playlist insert.. or
|
||||||
|
playlist catalog. */
|
||||||
|
previous_music_is_wps();
|
||||||
|
|
||||||
playlist->index = start_index;
|
playlist->index = start_index;
|
||||||
|
|
||||||
#if CONFIG_CODEC != SWCODEC
|
#if CONFIG_CODEC != SWCODEC
|
||||||
|
|
|
@ -487,10 +487,17 @@ static int load_context_screen(int selection)
|
||||||
else
|
else
|
||||||
return GO_TO_PREVIOUS;
|
return GO_TO_PREVIOUS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int previous_music = GO_TO_WPS;
|
||||||
|
|
||||||
|
void previous_music_is_wps(void)
|
||||||
|
{
|
||||||
|
previous_music = GO_TO_WPS;
|
||||||
|
}
|
||||||
|
|
||||||
void root_menu(void)
|
void root_menu(void)
|
||||||
{
|
{
|
||||||
int previous_browser = GO_TO_FILEBROWSER;
|
int previous_browser = GO_TO_FILEBROWSER;
|
||||||
int previous_music = GO_TO_WPS;
|
|
||||||
int next_screen = GO_TO_ROOT;
|
int next_screen = GO_TO_ROOT;
|
||||||
int selected = 0;
|
int selected = 0;
|
||||||
|
|
||||||
|
|
|
@ -51,4 +51,6 @@ enum {
|
||||||
|
|
||||||
extern const struct menu_item_ex root_menu_;
|
extern const struct menu_item_ex root_menu_;
|
||||||
|
|
||||||
|
extern void previous_music_is_wps(void);
|
||||||
|
|
||||||
#endif /* __ROOT_MENU_H__ */
|
#endif /* __ROOT_MENU_H__ */
|
||||||
|
|
Loading…
Reference in a new issue