vlc | branch: master | Sébastien Escudier <[email protected]> | Tue Feb 21 12:56:56 2012 +0100| [88e497880b252bc2a73b8e14cd9b6c5ddc13bc77] | committer: Sébastien Escudier
dereference p_libvlc->p_vlm after the media clean up > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=88e497880b252bc2a73b8e14cd9b6c5ddc13bc77 --- src/input/vlm.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/input/vlm.c b/src/input/vlm.c index 1e7aff7..4dce5ec 100644 --- a/src/input/vlm.c +++ b/src/input/vlm.c @@ -214,16 +214,15 @@ void vlm_Delete( vlm_t *p_vlm ) vlc_mutex_lock( &vlm_mutex ); assert( p_vlm->users > 0 ); if( --p_vlm->users == 0 ) - { assert( libvlc_priv(p_vlm->p_libvlc)->p_vlm == p_vlm ); - libvlc_priv(p_vlm->p_libvlc)->p_vlm = NULL; - } else p_vlm = NULL; - vlc_mutex_unlock( &vlm_mutex ); if( p_vlm == NULL ) + { + vlc_mutex_unlock( &vlm_mutex ); return; + } /* Destroy and release VLM */ vlc_mutex_lock( &p_vlm->lock ); @@ -242,6 +241,9 @@ void vlm_Delete( vlm_t *p_vlm ) vlc_object_release( p_vlm->p_vod ); } + libvlc_priv(p_vlm->p_libvlc)->p_vlm = NULL; + vlc_mutex_unlock( &vlm_mutex ); + vlc_mutex_lock( &p_vlm->lock_manage ); p_vlm->input_state_changed = true; vlc_cond_signal( &p_vlm->wait_manage ); _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
