From: Laurent Aimar Date: Mon, 16 Feb 2009 20:33:43 +0000 (+0100) Subject: Modify playlist code to always use input_item_t->i_id in "item-change" callback. X-Git-Tag: 1.0.0-pre1~625 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=aaa0d27584304a53f5f413f9b7a7f1b77d22c24e;p=vlc Modify playlist code to always use input_item_t->i_id in "item-change" callback. The previous code mixed up playlist_item_t->i_id and input_item_t->i_id and so this callback was unusable. --- diff --git a/include/vlc_playlist.h b/include/vlc_playlist.h index 12521b75c5..6fbd4a150e 100644 --- a/include/vlc_playlist.h +++ b/include/vlc_playlist.h @@ -114,6 +114,14 @@ TYPEDEF_ARRAY(playlist_item_t*, playlist_item_array_t); * To delete an item, use playlist_DeleteFromInput( input_id ) which will * remove all occurrences of the input in both trees * + * + * The playlist defines the following event variables: + * - "item-change": It will contains the input_item_t->i_id of a changed input + * item monitored by the playlist. + * + * XXX Be really carefull, playlist_item_t->i_id and input_item_t->i_id are not + * the same. + * * @{ */ diff --git a/src/playlist/item.c b/src/playlist/item.c index e8179b15c3..383771a11b 100644 --- a/src/playlist/item.c +++ b/src/playlist/item.c @@ -115,9 +115,9 @@ static void input_item_subitem_added( const vlc_event_t * p_event, static void input_item_changed( const vlc_event_t * p_event, void * user_data ) { - (void)p_event; - playlist_item_t * p_item = user_data; - var_SetInteger( p_item->p_playlist, "item-change", p_item->i_id ); + playlist_item_t *p_item = user_data; + VLC_UNUSED( p_event ); + var_SetInteger( p_item->p_playlist, "item-change", p_item->p_input->i_id ); } /***************************************************************************** @@ -624,8 +624,7 @@ static playlist_item_t *ItemToNode( playlist_t *p_playlist, } pl_priv(p_playlist)->b_reset_currently_playing = true; vlc_cond_signal( &pl_priv(p_playlist)->signal ); - var_SetInteger( p_playlist, "item-change", p_item_in_category-> - p_input->i_id ); + var_SetInteger( p_playlist, "item-change", p_item_in_category->p_input->i_id ); PL_UNLOCK_IF( !b_locked ); return p_item_in_category; }