Skip to content
Snippets Groups Projects
Commit 6ed0369b authored by Gabriel Lafond-Thenaille's avatar Gabriel Lafond-Thenaille Committed by Jean-Baptiste Kempf
Browse files

core: move Internal{Dialog,Keystore}Clean

In some cases, when a module uses a dialog, the dialog provider is
destroyed before the module is unloaded. This can lead to a crash if
the module continues to use it after it has been released.

This is fixed by moving InternalDialogClean after the vlc_playlist_Delete
so that it remains available during the player cleanup and the input
thread cleanup.
parent 83621b88
No related branches found
No related tags found
1 merge request!4806core: move Internal{Dialog,Keystore}Clean
Pipeline #429016 passed with stage
in 14 minutes and 37 seconds
......@@ -356,9 +356,6 @@ void libvlc_InternalCleanup( libvlc_int_t *p_libvlc )
if ( priv->p_thumbnailer )
vlc_thumbnailer_Release( priv->p_thumbnailer );
libvlc_InternalDialogClean( p_libvlc );
libvlc_InternalKeystoreClean( p_libvlc );
#ifdef ENABLE_VLM
/* Destroy VLM if created in libvlc_InternalInit */
if( priv->p_vlm )
......@@ -391,6 +388,8 @@ void libvlc_InternalCleanup( libvlc_int_t *p_libvlc )
if( priv->media_source_provider )
vlc_media_source_provider_Delete( priv->media_source_provider );
libvlc_InternalDialogClean( p_libvlc );
libvlc_InternalKeystoreClean( p_libvlc );
libvlc_InternalActionsClean( p_libvlc );
/* Save the configuration */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment