Commit 74db29fd authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Playlist: detach from SD events _after_ stopping the plugin

parent 6914f254
...@@ -336,28 +336,33 @@ int playlist_ServicesDiscoveryRemove( playlist_t * p_playlist, ...@@ -336,28 +336,33 @@ int playlist_ServicesDiscoveryRemove( playlist_t * p_playlist,
} }
PL_UNLOCK; PL_UNLOCK;
if( !p_sds || !p_sds->p_sd ) if( !p_sds )
{ {
msg_Warn( p_playlist, "module %s is not loaded", psz_module ); msg_Warn( p_playlist, "module %s is not loaded", psz_module );
return VLC_EGENERIC; return VLC_EGENERIC;
} }
vlc_event_detach( services_discovery_EventManager( p_sds->p_sd ), services_discovery_t *p_sd = p_sds->p_sd;
assert( p_sd );
vlc_sd_Stop( p_sd );
vlc_event_detach( services_discovery_EventManager( p_sd ),
vlc_ServicesDiscoveryItemAdded, vlc_ServicesDiscoveryItemAdded,
playlist_sd_item_added, playlist_sd_item_added,
p_sds->p_one ); p_sds->p_one );
vlc_event_detach( services_discovery_EventManager( p_sds->p_sd ), vlc_event_detach( services_discovery_EventManager( p_sd ),
vlc_ServicesDiscoveryItemAdded, vlc_ServicesDiscoveryItemAdded,
playlist_sd_item_added, playlist_sd_item_added,
p_sds->p_cat ); p_sds->p_cat );
vlc_event_detach( services_discovery_EventManager( p_sds->p_sd ), vlc_event_detach( services_discovery_EventManager( p_sd ),
vlc_ServicesDiscoveryItemRemoved, vlc_ServicesDiscoveryItemRemoved,
playlist_sd_item_removed, playlist_sd_item_removed,
p_sds->p_one ); p_sds->p_one );
vlc_event_detach( services_discovery_EventManager( p_sds->p_sd ), vlc_event_detach( services_discovery_EventManager( p_sd ),
vlc_ServicesDiscoveryItemRemoved, vlc_ServicesDiscoveryItemRemoved,
playlist_sd_item_removed, playlist_sd_item_removed,
p_sds->p_cat ); p_sds->p_cat );
...@@ -372,7 +377,7 @@ int playlist_ServicesDiscoveryRemove( playlist_t * p_playlist, ...@@ -372,7 +377,7 @@ int playlist_ServicesDiscoveryRemove( playlist_t * p_playlist,
} }
PL_UNLOCK; PL_UNLOCK;
vlc_sd_StopAndDestroy( p_sds->p_sd ); vlc_sd_Destroy( p_sd );
free( p_sds ); free( p_sds );
return VLC_SUCCESS; return VLC_SUCCESS;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment