summaryrefslogtreecommitdiffstats
path: root/src/gui/itemviews
diff options
context:
space:
mode:
authorMarkku Heikkila <markku.heikkila@digia.com>2012-01-27 13:53:09 +0200
committerQt by Nokia <qt-info@nokia.com>2012-02-01 15:32:07 +0100
commit4f388c383e39b598d997e21bd9a4f16d89bd0625 (patch)
treead810f35e118a8222a850350bfd9d5f085a6febf /src/gui/itemviews
parent9ad459913c8a277f3a6fbc7ee50937f126fe87ef (diff)
Fix crash in QTreeWidgetItem::sortChildren when adding new item.
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: I48af98b03c0291de8da90d1581bc55cc89846b8c Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Diffstat (limited to 'src/gui/itemviews')
-rw-r--r--src/gui/itemviews/qtreewidget.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gui/itemviews/qtreewidget.cpp b/src/gui/itemviews/qtreewidget.cpp
index f851688156..2816966d6a 100644
--- a/src/gui/itemviews/qtreewidget.cpp
+++ b/src/gui/itemviews/qtreewidget.cpp
@@ -2108,6 +2108,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();