diff options
author | Gaetan Bisson | 2018-05-24 11:38:26 -1000 |
---|---|---|
committer | Gaetan Bisson | 2018-05-24 11:38:26 -1000 |
commit | 40b1c82ff69d591215a69b8057c0ccb140ac2a22 (patch) | |
tree | 8fd5916fe24cb28f5ca97ded15e2fcf23e62f863 | |
parent | 64e4a82b9b8494e19cbe254d4185d6de8cabc5d4 (diff) | |
download | aur-40b1c82ff69d591215a69b8057c0ccb140ac2a22.tar.gz |
fix segfault with Qt-5.11
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | PKGBUILD | 15 | ||||
-rw-r--r-- | delete.patch | 37 |
3 files changed, 52 insertions, 4 deletions
@@ -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 @@ -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 + |