Commit aa41414d authored by Gildas Bazin's avatar Gildas Bazin

* src/input/control.c: fixed INPUT_DEL_BOOKMARK.

parent 0880ea2e
...@@ -85,35 +85,17 @@ int input_vaControl( input_thread_t *p_input, int i_query, va_list args ) ...@@ -85,35 +85,17 @@ int input_vaControl( input_thread_t *p_input, int i_query, va_list args )
break; break;
case INPUT_DEL_BOOKMARK: case INPUT_DEL_BOOKMARK:
p_bkmk = (seekpoint_t *)va_arg( args, seekpoint_t * ); i_bkmk = (int)va_arg( args, int );
if( p_input->i_bookmarks ) if( i_bkmk < p_input->i_bookmarks )
{ {
int i; int i;
for( i = 0; i < p_input->i_bookmarks; i++ ) p_bkmk = p_input->pp_bookmarks[i_bkmk];
{
if( ( p_bkmk->i_byte_offset &&
p_input->pp_bookmarks[i]->i_byte_offset ==
p_bkmk->i_byte_offset ) ||
( p_bkmk->i_time_offset &&
p_input->pp_bookmarks[i]->i_time_offset ==
p_bkmk->i_time_offset ) ||
( !p_bkmk->i_byte_offset && !p_bkmk->i_time_offset &&
p_input->pp_bookmarks[i]->i_byte_offset ==
p_bkmk->i_byte_offset ) )
{
p_bkmk = p_input->pp_bookmarks[i];
break;
}
}
if( i < p_input->i_bookmarks )
{
TAB_REMOVE( p_input->i_bookmarks, p_input->pp_bookmarks, TAB_REMOVE( p_input->i_bookmarks, p_input->pp_bookmarks,
p_bkmk ); p_bkmk );
vlc_seekpoint_Delete( p_bkmk ); vlc_seekpoint_Delete( p_bkmk );
/* Reflect the changes on the object var */ /* Reflect the changes on the object var */
var_Change( p_input, "bookmark", VLC_VAR_CLEARCHOICES, var_Change( p_input, "bookmark", VLC_VAR_CLEARCHOICES, 0, 0 );
0, 0 );
for( i = 0; i < p_input->i_bookmarks; i++ ) for( i = 0; i < p_input->i_bookmarks; i++ )
{ {
val.i_int = i; val.i_int = i;
...@@ -121,9 +103,9 @@ int input_vaControl( input_thread_t *p_input, int i_query, va_list args ) ...@@ -121,9 +103,9 @@ int input_vaControl( input_thread_t *p_input, int i_query, va_list args )
var_Change( p_input, "bookmark", VLC_VAR_ADDCHOICE, var_Change( p_input, "bookmark", VLC_VAR_ADDCHOICE,
&val, &text ); &val, &text );
} }
}
}
i_ret = VLC_SUCCESS; i_ret = VLC_SUCCESS;
}
else i_ret = VLC_EGENERIC;
break; break;
case INPUT_GET_BOOKMARKS: case INPUT_GET_BOOKMARKS:
...@@ -163,6 +145,7 @@ int input_vaControl( input_thread_t *p_input, int i_query, va_list args ) ...@@ -163,6 +145,7 @@ int input_vaControl( input_thread_t *p_input, int i_query, va_list args )
p_bkmk ); p_bkmk );
vlc_seekpoint_Delete( p_bkmk ); vlc_seekpoint_Delete( p_bkmk );
} }
var_Change( p_input, "bookmark", VLC_VAR_CLEARCHOICES, 0, 0 );
} }
i_ret = VLC_SUCCESS; i_ret = VLC_SUCCESS;
break; break;
......
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