diff options
Diffstat (limited to 'apps')
| -rw-r--r-- | apps/gui/gwps.c | 4 | ||||
| -rw-r--r-- | apps/gui/gwps.h | 3 | ||||
| -rw-r--r-- | apps/root_menu.c | 4 |
3 files changed, 9 insertions, 2 deletions
diff --git a/apps/gui/gwps.c b/apps/gui/gwps.c index d586a9a..c84e7c6 100644 --- a/apps/gui/gwps.c +++ b/apps/gui/gwps.c @@ -687,6 +687,10 @@ long gui_wps_show(void) } if (exit) { + if (wps_state.id3) + strcpy(wps_state.current_track_path, wps_state.id3->path); + else + wps_state.current_track_path[0] = '\0'; #ifdef HAVE_LCD_CHARCELLS status_set_record(false); status_set_audio(false); diff --git a/apps/gui/gwps.h b/apps/gui/gwps.h index 3836d92..4193cf8 100644 --- a/apps/gui/gwps.h +++ b/apps/gui/gwps.h @@ -469,6 +469,9 @@ struct wps_state bool wps_time_countup; struct mp3entry* id3; struct mp3entry* nid3; + char current_track_path[MAX_PATH]; /* used by root_menu.c to browse to the + current track at the time the audio is + stopped (so *id3 is invalid) */ }; diff --git a/apps/root_menu.c b/apps/root_menu.c index 418ea01..07bd493 100644 --- a/apps/root_menu.c +++ b/apps/root_menu.c @@ -96,9 +96,9 @@ static int browser(void* param) filter = global_settings.dirfilter; if (global_settings.browse_current && last_screen == GO_TO_WPS && - wps_state.id3) + wps_state.current_track_path[0]) { - strcpy(folder, wps_state.id3->path); + strcpy(folder, wps_state.current_track_path); } #ifdef HAVE_HOTSWAP /* quick hack to stop crashing if you try entering the browser from the menu when you were in the card |