summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/playlist_viewer.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/apps/playlist_viewer.c b/apps/playlist_viewer.c
index c818bafdf9..bd39a385f2 100644
--- a/apps/playlist_viewer.c
+++ b/apps/playlist_viewer.c
@@ -654,17 +654,19 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename)
/* Timeout so we can determine if play status has changed */
bool res = list_do_action(CONTEXT_LIST, HZ/2,
&playlist_lists, &button, LIST_WRAP_UNLESS_HELD);
+ /* during moving, another redraw is going to be needed,
+ * since viewer.selected_track is updated too late (after the first draw)
+ * drawing the moving item needs it */
viewer.selected_track=gui_synclist_get_sel_pos(&playlist_lists);
if (res)
{
bool reload = playlist_buffer_needs_reload(&viewer.buffer,
viewer.selected_track);
- if(reload)
- {
+ if (reload)
playlist_buffer_load_entries_screen(&viewer.buffer,
button == ACTION_STD_NEXT ? FORWARD : BACKWARD);
+ if (reload || viewer.moving_track >= 0)
gui_synclist_draw(&playlist_lists);
- }
}
switch (button)
{