summaryrefslogtreecommitdiffstats
path: root/src/widgets/itemviews/qtreeview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/itemviews/qtreeview.cpp')
-rw-r--r--src/widgets/itemviews/qtreeview.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/widgets/itemviews/qtreeview.cpp b/src/widgets/itemviews/qtreeview.cpp
index 863a26db4b..ccfeffeda3 100644
--- a/src/widgets/itemviews/qtreeview.cpp
+++ b/src/widgets/itemviews/qtreeview.cpp
@@ -2629,11 +2629,11 @@ void QTreeView::sortByColumn(int column, Qt::SortOrder order)
Q_D(QTreeView);
if (column < -1)
return;
- // If sorting is enabled it will emit a signal connected to
- // _q_sortIndicatorChanged, which then actually sorts
d->header->setSortIndicator(column, order);
- // If sorting is not enabled, force to sort now
- if (!d->sortingEnabled)
+ // If sorting is not enabled or has the same order as before, force to sort now
+ // else sorting will be trigger through sortIndicatorChanged()
+ if (!d->sortingEnabled ||
+ (d->header->sortIndicatorSection() == column && d->header->sortIndicatorOrder() == order))
d->model->sort(column, order);
}