summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/gui/gwps.c4
-rw-r--r--apps/gui/gwps.h3
-rw-r--r--apps/root_menu.c4
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