summaryrefslogtreecommitdiffstats
path: root/examples/widgets/itemviews/puzzle/piecesmodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/widgets/itemviews/puzzle/piecesmodel.cpp')
-rw-r--r--examples/widgets/itemviews/puzzle/piecesmodel.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/examples/widgets/itemviews/puzzle/piecesmodel.cpp b/examples/widgets/itemviews/puzzle/piecesmodel.cpp
index f0649d3776..28b46836f4 100644
--- a/examples/widgets/itemviews/puzzle/piecesmodel.cpp
+++ b/examples/widgets/itemviews/puzzle/piecesmodel.cpp
@@ -203,10 +203,12 @@ Qt::DropActions PiecesModel::supportedDropActions() const
void PiecesModel::addPieces(const QPixmap& pixmap)
{
- beginRemoveRows(QModelIndex(), 0, 24);
- pixmaps.clear();
- locations.clear();
- endRemoveRows();
+ if (!pixmaps.isEmpty()) {
+ beginRemoveRows(QModelIndex(), 0, pixmaps.size() - 1);
+ pixmaps.clear();
+ locations.clear();
+ endRemoveRows();
+ }
for (int y = 0; y < 5; ++y) {
for (int x = 0; x < 5; ++x) {
QPixmap pieceImage = pixmap.copy(x*m_PieceSize, y*m_PieceSize, m_PieceSize, m_PieceSize);