[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: extragear/multimedia/amarok/src/playlist
From: Alex Merry <kde () randomguy3 ! me ! uk>
Date: 2008-09-01 19:05:40
Message-ID: 1220295940.416352.17817.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 855940 by alexmerry:
We're still getting the "tracks occasionally repeating" bug, but much, much less \
frequently.
Which makes it harder to debug, of course.
So, insert some useful debugging statements.
As a bonus: don't let people calling Playlist::Model::play(-1) cause havoc, not to \
mention crash Amarok, by trying to access index -1 of a QList.
M +28 -1 PlaylistModel.cpp
--- trunk/extragear/multimedia/amarok/src/playlist/PlaylistModel.cpp #855939:855940
@@ -186,9 +186,14 @@
if( !m_stopPlaying && rowExists( row ) )
{
+ debug() << "Will play row" << row;
m_nextRowCandidate = row;
The::engineController()->setNextTrack( m_items.at(row)->track() );
}
+ else
+ {
+ debug() << "Invalid row" << row;
+ }
m_waitingForNextTrack = false;
}
@@ -200,9 +205,14 @@
if( !m_stopPlaying && rowExists( row ) )
{
+ debug() << "Will play row" << row;
m_nextRowCandidate = row;
play( row );
}
+ else
+ {
+ debug() << "Invalid row" << row;
+ }
m_waitingForNextTrack = false;
}
@@ -214,9 +224,14 @@
if( !m_stopPlaying && rowExists( row ) )
{
+ debug() << "Will play row" << row;
m_nextRowCandidate = row;
play( row );
}
+ else
+ {
+ debug() << "Invalid row" << row;
+ }
m_waitingForNextTrack = false;
}
@@ -465,13 +480,20 @@
void
Playlist::Model::play( int row )
{
+ DEBUG_BLOCK
+
m_stopPlaying = false;
- if( m_items.size() > row )
+ if( rowExists( row ) && m_items.size() > row )
{
+ debug() << "Will play row" << row;
m_nextRowCandidate = row;
The::engineController()->play( m_items[ row ]->track() );
}
+ else
+ {
+ debug() << "Invalid row" << row;
+ }
}
void
@@ -945,6 +967,7 @@
if( rowExists( m_nextRowCandidate ) &&
track == m_items.at( m_nextRowCandidate )->track() )
{
+ debug() << "Moving to the next row in the sequence";
setActiveRow( m_nextRowCandidate );
emit activeRowChanged( oldActiveRow, activeRow() );
@@ -966,6 +989,10 @@
emit activeRowChanged( oldActiveRow, activeRow() );
}
}
+ else
+ {
+ debug() << "engineNewTrackPlaying: Track not set!";
+ }
m_nextRowCandidate = -1;
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic