diff options
author | Markku Heikkila <markku.heikkila@digia.com> | 2012-06-07 16:30:04 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-06-08 18:09:07 +0200 |
commit | 9e75354aabb752097e7e0d227f8b55f36237f6d5 (patch) | |
tree | 1dc843a22b94cad633c864fdf135fa5a83caf949 /src/widgets | |
parent | a95e396a83930de14c6964dbf3724d6162d8400b (diff) |
Fix crash in QTreeWidgetItem::sortChildren when adding new item.
This is a cherry-pick of 4f388c383e39b598d997e21bd9a4f16d89bd0625
from February
Recursive call is caused if user code calls QtreeWidgetItem()::sortChildren and
sorting is enbled in QTreeWidget.
First call is from user code and second is caused by timer.
When timer expires second call is made.
This recursion is prevented with QTreeModel::SkipSorting skipSorting()
in QTreeWidgetItem::sortChildren();
Task-number: QTBUG-20345
Change-Id: Ibf73e69274423f31397a9e391bfba7d5c4103a3c
Reviewed-by: Markku Tapio Heikkilä <markku.heikkila@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/itemviews/qtreewidget.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/widgets/itemviews/qtreewidget.cpp b/src/widgets/itemviews/qtreewidget.cpp index d27eaf6805..653a17d2d2 100644 --- a/src/widgets/itemviews/qtreewidget.cpp +++ b/src/widgets/itemviews/qtreewidget.cpp @@ -2111,6 +2111,7 @@ void QTreeWidgetItem::sortChildren(int column, Qt::SortOrder order, bool climb) return; if (model->isChanging()) return; + QTreeModel::SkipSorting skipSorting(model); int oldSortColumn = view->d_func()->explicitSortColumn; view->d_func()->explicitSortColumn = column; emit model->layoutAboutToBeChanged(); |