diff options
Diffstat (limited to 'abs/core/qt5-base/qtbug-65478.patch')
-rw-r--r-- | abs/core/qt5-base/qtbug-65478.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/abs/core/qt5-base/qtbug-65478.patch b/abs/core/qt5-base/qtbug-65478.patch new file mode 100644 index 0000000..e75069c --- /dev/null +++ b/abs/core/qt5-base/qtbug-65478.patch @@ -0,0 +1,31 @@ +From e8425f9e52c9df0ce0fbf122adff3ef6930f9961 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thorbj=C3=B8rn=20Lund=20Martsum?= <tmartsum@gmail.com> +Date: Wed, 28 Feb 2018 09:23:54 +0100 +Subject: QHeaderView: Fix crash in layout about to change + +Before there was a risk looking up e.g index -1 if there +were no visible sections in layoutAboutToChange. + +Change-Id: Ic911e4292e8e8c4892fef1c0f34cf7dccaad2bac +Task-number: QTBUG-65478 +Reviewed-by: David Faure <david.faure@kdab.com> +--- +diff --git a/src/widgets/itemviews/qheaderview.cpp b/src/widgets/itemviews/qheaderview.cpp +index 26d7c5472a..708b9b44ca 100644 +--- a/src/widgets/itemviews/qheaderview.cpp ++++ b/src/widgets/itemviews/qheaderview.cpp +@@ -2163,9 +2163,11 @@ void QHeaderViewPrivate::_q_sectionsAboutToBeChanged() + layoutChangePersistentSections.clear(); + layoutChangePersistentSections.reserve(std::min(10, sectionItems.count())); + // after layoutChanged another section can be last stretched section +- if (stretchLastSection) { ++ if (stretchLastSection && lastSectionLogicalIdx >= 0 && lastSectionLogicalIdx < sectionItems.count()) { + const int visual = visualIndex(lastSectionLogicalIdx); +- sectionItems[visual].size = lastSectionSize; ++ if (visual >= 0 && visual < sectionItems.size()) { ++ sectionItems[visual].size = lastSectionSize; ++ } + } + for (int i = 0; i < sectionItems.size(); ++i) { + auto s = sectionItems.at(i); + |