summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorGaetan Bisson2018-05-24 11:38:26 -1000
committerGaetan Bisson2018-05-24 11:38:26 -1000
commit40b1c82ff69d591215a69b8057c0ccb140ac2a22 (patch)
tree8fd5916fe24cb28f5ca97ded15e2fcf23e62f863
parent64e4a82b9b8494e19cbe254d4185d6de8cabc5d4 (diff)
downloadaur-40b1c82ff69d591215a69b8057c0ccb140ac2a22.tar.gz
fix segfault with Qt-5.11
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD15
-rw-r--r--delete.patch37
3 files changed, 52 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 1fdcc0cb7bb3..09cce69c1b1b 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = subsurface-git
pkgdesc = Divelog program
- pkgver = 20171003.52445ec8f
+ pkgver = 20180524.86ab5a91f
pkgrel = 1
url = https://subsurface-divelog.org/
arch = i686
@@ -26,7 +26,9 @@ pkgbase = subsurface-git
provides = subsurface
conflicts = subsurface
source = git+https://github.com/Subsurface-divelog/subsurface
+ source = delete.patch
sha256sums = SKIP
+ sha256sums = 59135a6917643be1608eb88db1dc81a740c8b0cff01f9ed62fa80e7d7523ee47
pkgname = subsurface-git
diff --git a/PKGBUILD b/PKGBUILD
index 176292779b73..69d0de21a11a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=subsurface-git
_pkgname=subsurface
-pkgver=20171003.52445ec8f
+pkgver=20180524.86ab5a91f
pkgrel=1
pkgdesc='Divelog program'
url='https://subsurface-divelog.org/'
@@ -13,8 +13,10 @@ makedepends=('git' 'cmake' 'asciidoc' 'qt5-tools')
depends=('libzip' 'libxml2' 'libxslt' 'sqlite' 'libusb' 'libgit2'
'subsurface-libdc-git' 'qt5-svg' 'qt5-location'
'qt5-connectivity' 'qt5-webkit' 'grantlee' 'googlemaps')
-source=('git+https://github.com/Subsurface-divelog/subsurface')
-sha256sums=('SKIP')
+source=('git+https://github.com/Subsurface-divelog/subsurface'
+ 'delete.patch')
+sha256sums=('SKIP'
+ '59135a6917643be1608eb88db1dc81a740c8b0cff01f9ed62fa80e7d7523ee47')
# qt5-webkit still used for: printing, manual, facebook
@@ -26,6 +28,13 @@ pkgver() {
git log -1 --format='%cd.%h' --date=short | tr -d -
}
+prepare() {
+ cd "${srcdir}/${_pkgname}"
+
+ # https://bugreports.qt.io/browse/QTBUG-67948
+ patch -p1 -i ../delete.patch
+}
+
build() {
cd "${srcdir}/${_pkgname}"
install -d build
diff --git a/delete.patch b/delete.patch
new file mode 100644
index 000000000000..ff28e1d16e7f
--- /dev/null
+++ b/delete.patch
@@ -0,0 +1,37 @@
+From 479eccd89ae138ecab5bf6513d5ee5051137797e Mon Sep 17 00:00:00 2001
+From: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
+Date: Thu, 24 May 2018 22:57:02 +0200
+Subject: [PATCH] Cleanup: Don't defer deletion of oldModel in
+ DiveListView::reload()
+
+There seems to be no point in using deleteLater() of the previous
+model. Set the new model and delete the old one.
+
+Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
+---
+ desktop-widgets/divelistview.cpp | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/desktop-widgets/divelistview.cpp b/desktop-widgets/divelistview.cpp
+index 659d8e842..999edd39c 100644
+--- a/desktop-widgets/divelistview.cpp
++++ b/desktop-widgets/divelistview.cpp
+@@ -425,13 +425,12 @@ void DiveListView::reload(DiveTripModel::Layout layout, bool forceSort)
+
+ QSortFilterProxyModel *m = qobject_cast<QSortFilterProxyModel *>(model());
+ QAbstractItemModel *oldModel = m->sourceModel();
+- if (oldModel) {
+- oldModel->deleteLater();
+- }
+ tripModel = new DiveTripModel(this);
+ tripModel->setLayout(layout);
+
+ m->setSourceModel(tripModel);
++ if (oldModel)
++ delete oldModel;
+
+ if (!forceSort)
+ return;
+--
+2.14.1
+