diff --git a/src/misc/objects.c b/src/misc/objects.c index 76612b42a25ea3afdcf458f5410899796f635f19..fa369239a441052a6dc2a0d0f9ef468d92202b3d 100644 --- a/src/misc/objects.c +++ b/src/misc/objects.c @@ -258,6 +258,13 @@ static void vlc_object_destroy( vlc_object_t *p_this ) if( p_priv->pf_destructor ) p_priv->pf_destructor( p_this ); + if (unlikely(p_this == VLC_OBJECT(p_this->p_libvlc))) + { + /* TODO: should be in src/libvlc.c */ + var_DelCallback (p_this, "tree", DumpCommand, p_this); + var_DelCallback (p_this, "vars", DumpCommand, p_this); + } + /* Destroy the associated variables. */ var_DestroyAll( p_this );