git » qt5-base.git » commit 87074b1

Fix kexi crash at startup (FS#57584)

author Antonio Rojas
2018-03-02 11:40:51 UTC
committer Antonio Rojas
2018-03-02 11:40:51 UTC
parent 548eb4e968f0742b4b3eb440704a0a5c53936448

Fix kexi crash at startup (FS#57584)

PKGBUILD +7 -3
qtbug-65478.patch +31 -0

diff --git a/PKGBUILD b/PKGBUILD
index 39a9f13..16ad8fe 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,7 +5,7 @@ pkgbase=qt5-base
 pkgname=(qt5-base qt5-xcb-private-headers)
 _qtver=5.10.1
 pkgver=${_qtver/-/}
-pkgrel=2
+pkgrel=3
 arch=('x86_64')
 url='http://qt-project.org/'
 license=('GPL3' 'LGPL3' 'FDL' 'custom')
@@ -26,9 +26,11 @@ conflicts=('qtchooser')
 groups=('qt' 'qt5')
 _pkgfqn="${pkgbase/5-/}-everywhere-src-${_qtver}"
 source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz"
-        revert-Set-sharedPainter-correctly-for-QGraphicsEffect.patch)
+        revert-Set-sharedPainter-correctly-for-QGraphicsEffect.patch
+        qtbug-65478.patch)
 sha256sums=('d8660e189caa5da5142d5894d328b61a4d3ee9750b76d61ad74e4eee8765a969'
-            '7161ea5747500dc9666f8d185f4b8e538799fc0aef574e577277747100ac4763')
+            '7161ea5747500dc9666f8d185f4b8e538799fc0aef574e577277747100ac4763'
+            'b2e8cb06c60be7de31a984c4cfc9ab85c9e2d08c1a3d93136f193735b43600c6')
 
 prepare() {
   cd ${_pkgfqn}
@@ -50,6 +52,8 @@ prepare() {
   # Revert upstream commit which breaks some Deepin components (FS#57531)
   # https://bugreports.qt.io/browse/QTBUG-66226
   patch -Np1 -i ../revert-Set-sharedPainter-correctly-for-QGraphicsEffect.patch
+  # Fix kexi crash at startup http://bugreports.qt.io/browse/QTBUG-65478
+  patch -p1 -i ../qtbug-65478.patch
 }
 
 build() {
diff --git a/qtbug-65478.patch b/qtbug-65478.patch
new file mode 100644
index 0000000..e75069c
--- /dev/null
+++ b/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);
+