vlc | branch: master | Petri Hintukainen <phint...@gmail.com> | Tue Nov 10 13:43:01 2015 +0200| [e2115fed06ecb8b5458bc7dce4e8c38deccfa504] | committer: Jean-Baptiste Kempf
input: register title change callbacks only once Fixes skipping multiple titles with single click. Signed-off-by: Jean-Baptiste Kempf <j...@videolan.org> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=e2115fed06ecb8b5458bc7dce4e8c38deccfa504 --- src/input/var.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/input/var.c b/src/input/var.c index f5ce212..0ad530c 100644 --- a/src/input/var.c +++ b/src/input/var.c @@ -256,15 +256,19 @@ void input_ControlVarNavigation( input_thread_t *p_input ) /* Create more command variables */ if( p_input->p->i_title > 1 ) { - var_Create( p_input, "next-title", VLC_VAR_VOID ); - text.psz_string = _("Next title"); - var_Change( p_input, "next-title", VLC_VAR_SETTEXT, &text, NULL ); - var_AddCallback( p_input, "next-title", TitleCallback, NULL ); - - var_Create( p_input, "prev-title", VLC_VAR_VOID ); - text.psz_string = _("Previous title"); - var_Change( p_input, "prev-title", VLC_VAR_SETTEXT, &text, NULL ); - var_AddCallback( p_input, "prev-title", TitleCallback, NULL ); + if( var_Type( p_input, "next-title" ) == 0 ) { + var_Create( p_input, "next-title", VLC_VAR_VOID ); + text.psz_string = _("Next title"); + var_Change( p_input, "next-title", VLC_VAR_SETTEXT, &text, NULL ); + var_AddCallback( p_input, "next-title", TitleCallback, NULL ); + } + + if( var_Type( p_input, "prev-title" ) == 0 ) { + var_Create( p_input, "prev-title", VLC_VAR_VOID ); + text.psz_string = _("Previous title"); + var_Change( p_input, "prev-title", VLC_VAR_SETTEXT, &text, NULL ); + var_AddCallback( p_input, "prev-title", TitleCallback, NULL ); + } } /* Create titles and chapters */ _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits