From fa81ade13492bab2a809e6c8990e211f04aecab8 Mon Sep 17 00:00:00 2001 From: Pierre d'Herbemont Date: Sat, 2 Aug 2008 05:25:06 +0200 Subject: [PATCH] playlist: Don't allow pl_Release(p_playlist) and pl_Yield(p_playlist). --- src/playlist/control.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/playlist/control.c b/src/playlist/control.c index 2cb00e99cc..89ac8fbd3d 100644 --- a/src/playlist/control.c +++ b/src/playlist/control.c @@ -47,6 +47,10 @@ playlist_t *__pl_Yield( vlc_object_t *p_this ) barrier (); pl = libvlc_priv (p_this->p_libvlc)->p_playlist; + + assert( pl != p_this /* This does not make sense to yield the playlist + using pl_Yield. use vlc_object_yield in this case */ ); + if (pl) vlc_object_yield (pl); return pl; @@ -56,6 +60,10 @@ void __pl_Release( vlc_object_t *p_this ) { playlist_t *pl = libvlc_priv (p_this->p_libvlc)->p_playlist; assert( pl != NULL ); + + assert( pl != p_this /* The rule is that pl_Release() should act on + the same object than pl_Yield() */ ); + vlc_object_release( pl ); } -- 2.39.2