summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/playback.c9
-rw-r--r--apps/playlist.c10
2 files changed, 11 insertions, 8 deletions
diff --git a/apps/playback.c b/apps/playback.c
index ed581cd..87773f8 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -1375,9 +1375,12 @@ static void codec_thread(void)
{
const char *codec_fn =
get_codec_filename(curtrack_id3.codectype);
- LOGFQUEUE("codec > codec Q_CODEC_LOAD_DISK");
- queue_post(&codec_queue, Q_CODEC_LOAD_DISK,
- (intptr_t)codec_fn);
+ if (codec_fn)
+ {
+ LOGFQUEUE("codec > codec Q_CODEC_LOAD_DISK");
+ queue_post(&codec_queue, Q_CODEC_LOAD_DISK,
+ (intptr_t)codec_fn);
+ }
}
}
break;
diff --git a/apps/playlist.c b/apps/playlist.c
index 644329c..b68a47e 100644
--- a/apps/playlist.c
+++ b/apps/playlist.c
@@ -654,8 +654,12 @@ static int create_and_play_dir(int direction, bool play_last)
playlist_start(index, 0);
#endif
}
+
+ /* we've overwritten the dircache when getting the next/previous dir,
+ so the tree browser context will need to be reloaded */
+ reload_directory();
}
-
+
return index;
}
@@ -1577,10 +1581,6 @@ static int get_next_dir(char *dir, bool is_forward, bool recursion)
}
}
- /* we've overwritten the dircache so tree browser will need to be
- reloaded */
- reload_directory();
-
/* restore dirfilter & sort_dir */
*(tc->dirfilter) = dirfilter;
global_settings.sort_dir = sort_dir;