diff options
Diffstat (limited to 'apps')
| -rw-r--r-- | apps/tree.c | 14 |
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; |