summaryrefslogtreecommitdiffstats
path: root/src/gui/itemmodels/qstandarditemmodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/itemmodels/qstandarditemmodel.cpp')
-rw-r--r--src/gui/itemmodels/qstandarditemmodel.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gui/itemmodels/qstandarditemmodel.cpp b/src/gui/itemmodels/qstandarditemmodel.cpp
index f55e90c153..235bc5bd7d 100644
--- a/src/gui/itemmodels/qstandarditemmodel.cpp
+++ b/src/gui/itemmodels/qstandarditemmodel.cpp
@@ -142,6 +142,8 @@ void QStandardItemPrivate::setChild(int row, int column, QStandardItem *item,
oldItem->d_func()->setModel(0);
delete oldItem;
children.replace(index, item);
+ if (item)
+ item->d_func()->lastKnownIndex = index;
if (model && emitChanged)
emit model->layoutChanged();
@@ -475,6 +477,8 @@ bool QStandardItemPrivate::insertRows(int row, const QList<QStandardItem*> &item
item->d_func()->parent = q;
int index = childIndex(i + row, 0);
children.replace(index, item);
+ if (item)
+ item->d_func()->lastKnownIndex = index;
}
if (model)
model->d_func()->rowsInserted(q, row, count);
@@ -512,6 +516,8 @@ bool QStandardItemPrivate::insertRows(int row, int count, const QList<QStandardI
}
}
children.replace(index, item);
+ if (item)
+ item->d_func()->lastKnownIndex = index;
++index;
}
}
@@ -558,6 +564,8 @@ bool QStandardItemPrivate::insertColumns(int column, int count, const QList<QSta
int c = column + (i % count);
int index = childIndex(r, c);
children.replace(index, item);
+ if (item)
+ item->d_func()->lastKnownIndex = index;
}
}
if (model)