[arch-commits] Commit in kphotoalbum/trunk (PKGBUILD kphotoalbum-qt-5.10.patch)
Antonio Rojas
arojas at archlinux.org
Wed Jan 3 09:23:08 UTC 2018
Date: Wednesday, January 3, 2018 @ 09:23:06
Author: arojas
Revision: 278146
Fix segfault with Qt 5.10 (FS#56932)
Added:
kphotoalbum/trunk/kphotoalbum-qt-5.10.patch
Modified:
kphotoalbum/trunk/PKGBUILD
---------------------------+
PKGBUILD | 13 +++++++++---
kphotoalbum-qt-5.10.patch | 45 ++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 55 insertions(+), 3 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2018-01-03 09:21:43 UTC (rev 278145)
+++ PKGBUILD 2018-01-03 09:23:06 UTC (rev 278146)
@@ -7,7 +7,7 @@
pkgname=kphotoalbum
pkgver=5.2
-pkgrel=2
+pkgrel=3
pkgdesc="KDE Photo Album, picture collection manager"
url="https://www.kphotoalbum.org/"
arch=('x86_64')
@@ -15,9 +15,16 @@
depends=('libkipi' 'libkdcraw' 'libkgeomap' 'exiv2')
makedepends=('extra-cmake-modules' 'python' 'plasma-framework' 'phonon-qt5' 'kdoctools' 'kparts' 'libkexiv2')
optdepends=()
-source=("https://download.kde.org/stable/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.xz")
-sha256sums=('9ad02080b21787d5824d0c4bb49be2a00822098adca7937e9c7497440d3b0b89')
+source=("https://download.kde.org/stable/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.xz"
+ kphotoalbum-qt-5.10.patch)
+sha256sums=('9ad02080b21787d5824d0c4bb49be2a00822098adca7937e9c7497440d3b0b89'
+ '67efc8339a9754f28f5a438510b3f2b114dd9cc07ecc34e75c0e1aa72f1a6b80')
+prepare() {
+ cd $pkgname-$pkgver
+ patch -p1 -i ../kphotoalbum-qt-5.10.patch # Fix crash with Qt 5.10
+}
+
build() {
mkdir build
cd build
Added: kphotoalbum-qt-5.10.patch
===================================================================
--- kphotoalbum-qt-5.10.patch (rev 0)
+++ kphotoalbum-qt-5.10.patch 2018-01-03 09:23:06 UTC (rev 278146)
@@ -0,0 +1,45 @@
+From 211f74bec0101d56714787b3a722e7f324ce2ae2 Mon Sep 17 00:00:00 2001
+From: Sylvain Stanchina <sylvain at stanchina.fr>
+Date: Mon, 1 Jan 2018 21:57:32 +0100
+Subject: Fix crash with prepared SQL queries on Qt 5.10.
+
+Some explanations: The issue is related to SQL queries containing
+placeholders ("?"). In Exif.Database.cpp, some queries are built using
+the statement "QSqlQuery query( _queryString, m_db );" (or equivalent).
+However, according to QT5.10 documentation, the queries are immediately
+executed when constructed like that. If they contain one or more
+placeholders "?", they are thus executed before their arguments have
+been bound (by calls of bindValue()). In such cases, the application
+crashes.
+---
+ Exif/Database.cpp | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/Exif/Database.cpp b/Exif/Database.cpp
+index 1cc14c3..10747d2 100644
+--- a/Exif/Database.cpp
++++ b/Exif/Database.cpp
+@@ -226,7 +226,8 @@ void Exif::Database::remove( const DB::FileName& fileName )
+ if ( !isUsable() )
+ return;
+
+- QSqlQuery query( QString::fromLatin1( "DELETE FROM exif WHERE fileName=?" ), m_db );
++ QSqlQuery query( m_db);
++ query.prepare( QString::fromLatin1( "DELETE FROM exif WHERE fileName=?" ));
+ query.bindValue( 0, fileName.absolute() );
+ if ( !query.exec() )
+ showError( query );
+@@ -248,8 +251,8 @@ bool Exif::Database::insert(const DB::FileName& filename, Exiv2::ExifData data )
+ }
+ _queryString = QString::fromLatin1( "INSERT OR REPLACE into exif values (?, %1) " ).arg( formalList.join( QString::fromLatin1( ", " ) ) );
+ }
+-
+- QSqlQuery query( _queryString, m_db );
++ QSqlQuery query(m_db);
++ query.prepare( _queryString );
+ query.bindValue( 0, filename.absolute() );
+ int i = 1;
+ for( const DatabaseElement *e : elements() )
+--
+cgit v0.11.2
+
More information about the arch-commits
mailing list