Commit 1b20e18a authored by Erwan Tulou's avatar Erwan Tulou

skins2(playlist): fix current playing item still on when stopping an input

parent 32e68688
...@@ -450,7 +450,7 @@ void VlcProc::on_item_current_changed( vlc_object_t* p_obj, vlc_value_t newVal ) ...@@ -450,7 +450,7 @@ void VlcProc::on_item_current_changed( vlc_object_t* p_obj, vlc_value_t newVal )
free( psz_uri ); free( psz_uri );
// Update playtree // Update playtree
getPlaytreeVar().onUpdateCurrent(); getPlaytreeVar().onUpdateCurrent( true );
} }
void VlcProc::on_intf_event_changed( vlc_object_t* p_obj, vlc_value_t newVal ) void VlcProc::on_intf_event_changed( vlc_object_t* p_obj, vlc_value_t newVal )
...@@ -727,6 +727,8 @@ void VlcProc::reset_input() ...@@ -727,6 +727,8 @@ void VlcProc::reset_input()
SET_TEXT( m_cVarStreamURI, UString( getIntf(), "") ); SET_TEXT( m_cVarStreamURI, UString( getIntf(), "") );
SET_TEXT( m_cVarStreamBitRate, UString( getIntf(), "") ); SET_TEXT( m_cVarStreamBitRate, UString( getIntf(), "") );
SET_TEXT( m_cVarStreamSampleRate, UString( getIntf(), "") ); SET_TEXT( m_cVarStreamSampleRate, UString( getIntf(), "") );
getPlaytreeVar().onUpdateCurrent( false );
} }
void VlcProc::init_variables() void VlcProc::init_variables()
......
...@@ -144,24 +144,33 @@ void Playtree::onUpdateItem( int id ) ...@@ -144,24 +144,33 @@ void Playtree::onUpdateItem( int id )
} }
void Playtree::onUpdateCurrent() void Playtree::onUpdateCurrent( bool b_active )
{ {
playlist_Lock( m_pPlaylist ); if( !b_active )
playlist_item_t* current = playlist_CurrentPlayingItem( m_pPlaylist );
if( !current )
{ {
playlist_Unlock( m_pPlaylist ); if( m_playingIt == end() )
return; return;
}
Iterator it = findById( current->i_id );
it->m_playing = true;
if( m_playingIt != end() )
m_playingIt->m_playing = false; m_playingIt->m_playing = false;
m_playingIt = it; m_playingIt = end();
}
else
{
playlist_Lock( m_pPlaylist );
playlist_Unlock( m_pPlaylist ); playlist_item_t* current = playlist_CurrentPlayingItem( m_pPlaylist );
if( !current )
{
playlist_Unlock( m_pPlaylist );
return;
}
Iterator it = findById( current->i_id );
it->m_playing = true;
m_playingIt = it;
playlist_Unlock( m_pPlaylist );
}
tree_update descr; tree_update descr;
descr.b_active_item = true; descr.b_active_item = true;
......
...@@ -47,7 +47,7 @@ public: ...@@ -47,7 +47,7 @@ public:
void onUpdateItem( int id ); void onUpdateItem( int id );
/// Function called to notify about current playing item /// Function called to notify about current playing item
void onUpdateCurrent( ); void onUpdateCurrent( bool b_active );
/// Function called to notify playlist item append /// Function called to notify playlist item append
void onAppend( playlist_add_t * ); void onAppend( playlist_add_t * );
......
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