[vlc-devel] commit: playlist: Correctly indicate why we put a buggy yield() at this place. And document a bit that nasty recusrsive ML_Decref() function. (Pierre d'Herbemont )
git version control
git at videolan.org
Tue Apr 1 22:32:57 CEST 2008
vlc | branch: master | Pierre d'Herbemont <pdherbemont at videolan.org> | Tue Apr 1 22:31:07 2008 +0200| [bbf6e4fecf2f42178726ddbcf050c03b6e28b749]
playlist: Correctly indicate why we put a buggy yield() at this place. And document a bit that nasty recusrsive ML_Decref() function.
This comes with my official excuses to funman.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=bbf6e4fecf2f42178726ddbcf050c03b6e28b749
---
src/playlist/engine.c | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/src/playlist/engine.c b/src/playlist/engine.c
index 18ce3f6..b4fc5d1 100644
--- a/src/playlist/engine.c
+++ b/src/playlist/engine.c
@@ -484,9 +484,16 @@ void playlist_LastLoop( playlist_t *p_playlist )
p_playlist->pp_sds[0]->p_sd->psz_module );
}
- vlc_gc_incref( p_playlist->p_ml_category->p_input );
playlist_MLDump( p_playlist );
/* We don't need the media library anymore */
+
+ /* Because this nasty recursive function decreases the
+ * p_playlist->p_ml_category refcount, it may get deleted.
+ * However we will delete the p_playlist->p_ml_category in the
+ * following FOREACH. */
+ vlc_gc_incref( p_playlist->p_ml_category );
+
+ /* Decref all subitems, and the given items */
ML_Decref( p_playlist->p_ml_category );
PL_LOCK;
More information about the vlc-devel
mailing list