From 5d626d6a02368aff1628eaaca72fa41ec5e7a66b Mon Sep 17 00:00:00 2001 From: Jakob Leben Date: Fri, 11 Jun 2010 19:19:17 +0200 Subject: [PATCH] Hotkeys: playlist locking untested --- modules/control/hotkeys.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/control/hotkeys.c b/modules/control/hotkeys.c index 5a0664946c..810fffa311 100644 --- a/modules/control/hotkeys.c +++ b/modules/control/hotkeys.c @@ -963,22 +963,27 @@ static void PlayBookmark( intf_thread_t *p_intf, int i_num ) static void SetBookmark( intf_thread_t *p_intf, int i_num ) { char *psz_bookmark_name; + char *psz_uri = NULL; if( asprintf( &psz_bookmark_name, "bookmark%i", i_num ) == -1 ) return; playlist_t *p_playlist = pl_Get( p_intf ); var_Create( p_intf, psz_bookmark_name, VLC_VAR_STRING|VLC_VAR_DOINHERIT ); + + PL_LOCK; playlist_item_t * p_item = playlist_CurrentPlayingItem( p_playlist ); + if( p_item ) psz_uri = input_item_GetURI( p_item->p_input ); + PL_UNLOCK; + if( p_item ) { - char *psz_uri = input_item_GetURI( p_item->p_input ); config_PutPsz( p_intf, psz_bookmark_name, psz_uri); msg_Info( p_intf, "setting playlist bookmark %i to %s", i_num, psz_uri); - free( psz_uri ); config_SaveConfigFile( p_intf, "hotkeys" ); } + free( psz_uri ); free( psz_bookmark_name ); } -- 2.39.2