diff options
Diffstat (limited to 'src/widgets/itemviews/qtreewidget.cpp')
-rw-r--r-- | src/widgets/itemviews/qtreewidget.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/widgets/itemviews/qtreewidget.cpp b/src/widgets/itemviews/qtreewidget.cpp index f72abd20ab..2de7830c6a 100644 --- a/src/widgets/itemviews/qtreewidget.cpp +++ b/src/widgets/itemviews/qtreewidget.cpp @@ -623,7 +623,13 @@ void QTreeModel::ensureSorted(int column, Qt::SortOrder order, for (int i = 0; i < count; ++i) { int oldRow = sorting.at(i).second; + + int tmpitepos = lit - lst.begin(); QTreeWidgetItem *item = lst.takeAt(oldRow); + if (tmpitepos > lst.size()) + --tmpitepos; + lit = lst.begin() + tmpitepos; + lit = sortedInsertionIterator(lit, lst.end(), order, item); int newRow = qMax(lit - lst.begin(), 0); |