diff options
Diffstat (limited to 'apps/screens.c')
-rw-r--r-- | apps/screens.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/apps/screens.c b/apps/screens.c index db24e534c1..4fd6c2c2e2 100644 --- a/apps/screens.c +++ b/apps/screens.c @@ -699,7 +699,10 @@ bool browse_id3(struct mp3entry *id3, int playlist_display_index, int playlist_a info.playlist_display_index = playlist_display_index; info.playlist_amount = playlist_amount; bool ret = false; - push_current_activity(ACTIVITY_ID3SCREEN); + int curr_activity = get_current_activity(); + if (curr_activity != ACTIVITY_PLUGIN && + curr_activity != ACTIVITY_PLAYLISTVIEWER) + push_current_activity(ACTIVITY_ID3SCREEN); for (i = 0; i < ARRAYLEN(id3_headers); i++) { char temp[8]; @@ -732,8 +735,9 @@ bool browse_id3(struct mp3entry *id3, int playlist_display_index, int playlist_a } } } - - pop_current_activity(); + if (curr_activity != ACTIVITY_PLUGIN && + curr_activity != ACTIVITY_PLAYLISTVIEWER) + pop_current_activity(); return ret; } |