[vlc-devel] commit: Check some invalid uses of pl_Yield() ( Rémi Denis-Courmont )
git version control
git at videolan.org
Fri Jun 27 17:41:23 CEST 2008
vlc | branch: master | Rémi Denis-Courmont <rdenis at simphalempin.com> | Fri Jun 27 18:43:15 2008 +0300| [23d1d36b83c4b88c57ea321bbae61394e62956d9]
Check some invalid uses of pl_Yield()
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=23d1d36b83c4b88c57ea321bbae61394e62956d9
---
src/playlist/control.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/src/playlist/control.c b/src/playlist/control.c
index 8051f51..1ada120 100644
--- a/src/playlist/control.c
+++ b/src/playlist/control.c
@@ -44,6 +44,11 @@ static void PreparseEnqueueItemSub( playlist_t *, playlist_item_t * );
playlist_t *__pl_Yield( vlc_object_t *p_this )
{
playlist_t *pl = libvlc_priv (p_this->p_libvlc)->p_playlist;
+ /* Objects that are destroyed _after_ the playlist cannot use pl_Yield() */
+ assert (p_this->i_object_type != VLC_OBJECT_VOUT);
+ assert (p_this->i_object_type != VLC_OBJECT_ANNOUNCE);
+ assert ((void *)p_this != libvlc_priv (p_this->p_libvlc)->p_interaction);
+
assert( pl != NULL );
vlc_object_yield( pl );
return pl;
More information about the vlc-devel
mailing list