From aba3de3334cfc9baba3ad296278e8071637b1d78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Stenac?= Date: Sat, 16 Sep 2006 19:20:42 +0000 Subject: [PATCH] Correctly handle "no-skip" items --- src/playlist/control.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/playlist/control.c b/src/playlist/control.c index ec5b0e8c95..521a9d26f4 100644 --- a/src/playlist/control.c +++ b/src/playlist/control.c @@ -273,11 +273,18 @@ playlist_item_t * playlist_NextItem( playlist_t *p_playlist ) return NULL; } - if( !p_playlist->request.b_request && p_playlist->status.p_item && - p_playlist->status.p_item->i_flags & PLAYLIST_SKIP_FLAG ) + if( !p_playlist->request.b_request && p_playlist->status.p_item ) { - msg_Dbg( p_playlist, "blocking item, stopping") ; - return NULL; + playlist_item_t *p_parent = p_playlist->status.p_item; + while( p_parent ) + { + if( p_parent->i_flags & PLAYLIST_SKIP_FLAG ) + { + msg_Dbg( p_playlist, "blocking item, stopping") ; + return NULL; + } + p_parent = p_parent->p_parent; + } } /* Random case. This is an exception: if request, but request is skip +- 1 -- GitLab