summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/tree.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/apps/tree.c b/apps/tree.c
index 1f0b78b..6eb64a5 100644
--- a/apps/tree.c
+++ b/apps/tree.c
@@ -477,11 +477,21 @@ static int update_dir(void)
/* load tracks from specified directory to resume play */
void resume_directory(const char *dir)
{
+ int dirfilter = *tc.dirfilter;
+ int ret;
#ifdef HAVE_TAGCACHE
bool id3db = *tc.dirfilter == SHOW_ID3DB;
#endif
-
- if (ft_load(&tc, dir) < 0)
+ /* make sure the dirfilter is sane. The only time it should be possible
+ * thats its not is when resume playlist is called from a plugin
+ */
+#ifdef HAVE_TAGCACHE
+ if (!id3db)
+#endif
+ *tc.dirfilter = global_settings.dirfilter;
+ ret = ft_load(&tc, dir);
+ *tc.dirfilter = dirfilter;
+ if (ret < 0)
return;
lastdir[0] = 0;