summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/screens.c10
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;
}