From b462123a8291b4bb285b5514f0f48e73776f3597 Mon Sep 17 00:00:00 2001 From: Jean-Paul Saman Date: Sun, 10 Aug 2008 22:06:06 +0800 Subject: [PATCH] Fix resource deadlock in OSDmenu code. --- modules/video_filter/osdmenu.c | 2 -- src/osd/osd.c | 3 +-- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/modules/video_filter/osdmenu.c b/modules/video_filter/osdmenu.c index 8a492046d7..96ae0fd463 100644 --- a/modules/video_filter/osdmenu.c +++ b/modules/video_filter/osdmenu.c @@ -270,8 +270,6 @@ static int CreateFilter ( vlc_object_t *p_this ) error: msg_Err( p_filter, "osdmenu filter discarded" ); - osd_MenuDelete( p_this, p_sys->p_menu ); - p_sys->p_menu = NULL; free( p_sys->psz_path ); free( p_sys->psz_file ); free( p_sys ); diff --git a/src/osd/osd.c b/src/osd/osd.c index 1c1cf4a622..7e1f78e140 100644 --- a/src/osd/osd.c +++ b/src/osd/osd.c @@ -68,7 +68,6 @@ static bool osd_ParserLoad( osd_menu_t *p_menu, const char *psz_file ) if( !p_menu->p_image || !p_menu->psz_file ) { msg_Err( p_menu, "unable to load images, aborting .." ); - osd_ParserUnload( p_menu ); return true; } else @@ -85,7 +84,6 @@ static bool osd_ParserLoad( osd_menu_t *p_menu, const char *psz_file ) psz_type, true ); if( !p_menu->p_parser ) { - osd_ParserUnload( p_menu ); return false; } } @@ -200,6 +198,7 @@ osd_menu_t *__osd_MenuCreate( vlc_object_t *p_this, const char *psz_file ) return p_osd; error: + vlc_mutex_unlock( lockval.p_address ); __osd_MenuDelete( p_this, p_osd ); return NULL; } -- 2.39.2