From: Pierre d'Herbemont Date: Sat, 2 Aug 2008 03:25:06 +0000 (+0200) Subject: playlist: Don't allow pl_Release(p_playlist) and pl_Yield(p_playlist). X-Git-Tag: 0.9.0-test3~9 X-Git-Url: https://git.sesse.net/?p=vlc;a=commitdiff_plain;h=fa81ade13492bab2a809e6c8990e211f04aecab8 playlist: Don't allow pl_Release(p_playlist) and pl_Yield(p_playlist). --- 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 ); }