From ba33bbc38cd504ecd953a99f4f95929a31e9e670 Mon Sep 17 00:00:00 2001 From: Leo Franchi Date: Wed, 16 Feb 2011 13:35:57 -0500 Subject: [PATCH] handle errors gracefully --- src/libtomahawk/playlist/dynamic/DynamicView.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/libtomahawk/playlist/dynamic/DynamicView.cpp b/src/libtomahawk/playlist/dynamic/DynamicView.cpp index 0b37ef3a0..a47764c6d 100644 --- a/src/libtomahawk/playlist/dynamic/DynamicView.cpp +++ b/src/libtomahawk/playlist/dynamic/DynamicView.cpp @@ -218,7 +218,15 @@ DynamicView::collapseEntries( int startRow, int num, int numToKeep ) if( !justFade ) { /// sanity checks. make sure we have all the rows we need int firstSlider = startRow + realNum; - Q_ASSERT( firstSlider + numToKeep - 1 <= proxyModel()->rowCount() ); + qDebug() << "Sliding from" << firstSlider << "number:" << numToKeep - 1 << "rowcount is:" << proxyModel()->rowCount(); + // we may have removed some rows since we first started counting, so adjust + //Q_ASSERT( firstSlider + numToKeep - 1 <= proxyModel()->rowCount() ); + if( firstSlider + numToKeep - 1 >= proxyModel()->rowCount() ) { + if( numToKeep == 1 ) { // we just want the last row + firstSlider = proxyModel()->rowCount(); + } + } + topLeft = proxyModel()->index( startRow + realNum, 0, QModelIndex() ); bottomRight = proxyModel()->index( startRow + realNum + numToKeep - 1, proxyModel()->columnCount( QModelIndex() ) - 1, QModelIndex() );