From: Ludovic Fauvet Date: Mon, 20 Oct 2008 19:54:27 +0000 (+0200) Subject: Bug fixed in the "recently played" functionnality X-Git-Tag: 1.0.0-pre1~2394 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=9a38b276e6ddecdd032d5a1f2128530d2e3478ca;p=vlc Bug fixed in the "recently played" functionnality * A connect was called multiple times causing a wrong behaviour in the playlist. * playlist_AddInput was replaced by playlist_Add to simplify code. Signed-off-by: Jean-Baptiste Kempf --- diff --git a/modules/gui/qt4/dialogs_provider.cpp b/modules/gui/qt4/dialogs_provider.cpp index 879980ad93..8143b28e9e 100644 --- a/modules/gui/qt4/dialogs_provider.cpp +++ b/modules/gui/qt4/dialogs_provider.cpp @@ -610,11 +610,8 @@ void DialogsProvider::SDMenuAction( QString data ) **/ void DialogsProvider::playMRL( const QString &mrl ) { - input_item_t *p_input = input_item_New( p_intf, - qtu( mrl ), NULL ); - playlist_AddInput( THEPL, p_input, PLAYLIST_GO, - PLAYLIST_END, true, pl_Unlocked ); - vlc_gc_decref( p_input ); + playlist_Add( THEPL, qtu( mrl ) , NULL, + PLAYLIST_APPEND | PLAYLIST_GO , PLAYLIST_END, true, false ); RecentsMRL::getInstance( p_intf )->addRecent( mrl ); } diff --git a/modules/gui/qt4/menus.cpp b/modules/gui/qt4/menus.cpp index 1d2d01a08b..28f1802f0d 100644 --- a/modules/gui/qt4/menus.cpp +++ b/modules/gui/qt4/menus.cpp @@ -1328,11 +1328,6 @@ void QVLCMenu::updateRecents( intf_thread_t *p_intf ) rmrl->signalMapper->setMapping( action, l.at( i ) ); } - CONNECT( rmrl->signalMapper, - mapped(const QString & ), - DialogsProvider::getInstance( p_intf ), - playMRL( const QString & ) ); - recentsMenu->addSeparator(); recentsMenu->addAction( "Clear", rmrl, SLOT( clear() ) ); } diff --git a/modules/gui/qt4/recents.cpp b/modules/gui/qt4/recents.cpp index 9109989434..b1bbf8535f 100644 --- a/modules/gui/qt4/recents.cpp +++ b/modules/gui/qt4/recents.cpp @@ -23,6 +23,7 @@ #include "recents.hpp" +#include "dialogs_provider.hpp" #include #include @@ -37,6 +38,10 @@ RecentsMRL::RecentsMRL( intf_thread_t *_p_intf ) : p_intf( _p_intf ) { stack = new QList; signalMapper = new QSignalMapper(this); + CONNECT( signalMapper, + mapped(const QString & ), + DialogsProvider::getInstance( p_intf ), + playMRL( const QString & ) ); isActive = config_GetInt( p_intf, "qt-recentplay" ); filter = new QRegExp(