Date: Monday, July 4, 2016 @ 19:22:17 Author: jlichtblau Revision: 182231
upgpkg: skrooge 2.4.0-3 - FS#49880 fix Added: skrooge/trunk/skrooge-qt57.patch Modified: skrooge/trunk/PKGBUILD skrooge/trunk/skrooge.changelog --------------------+ PKGBUILD | 17 ++- skrooge-qt57.patch | 231 +++++++++++++++++++++++++++++++++++++++++++++++++++ skrooge.changelog | 3 3 files changed, 246 insertions(+), 5 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2016-07-04 19:19:36 UTC (rev 182230) +++ PKGBUILD 2016-07-04 19:22:17 UTC (rev 182231) @@ -6,20 +6,27 @@ pkgname=skrooge pkgver=2.4.0 -pkgrel=2 +pkgrel=3 pkgdesc="A personal finances manager for KDE" arch=('i686' 'x86_64') url="http://skrooge.org/" license=('GPL') -depends=('qt5-base' 'qt5-tools' 'qca-qt5' 'qt5-script' 'libofx' 'grantlee-qt5' +depends=('qt5-base' 'qt5-tools' 'qca-qt5' 'qt5-script' 'qt5-webkit' 'libofx' 'grantlee-qt5' 'kross' 'knewstuff' 'krunner' 'knotifyconfig' 'kdelibs4support' 'sqlcipher') -makedepends=('cmake' 'kdoctools' 'extra-cmake-modules' 'python' 'kdesignerplugin') +makedepends=('cmake' 'kdoctools' 'extra-cmake-modules' 'python' 'kdesignerplugin' 'patch') options=('!emptydirs') install=$pkgname.install changelog=$pkgname.changelog -source=(http://download.kde.org/stable/$pkgname/$pkgname-$pkgver.tar.xz) -sha256sums=('132d022337140f841f51420536c31dfe07c90fa3a38878279026825f5d2526fe') +source=(http://download.kde.org/stable/$pkgname/$pkgname-$pkgver.tar.xz + skrooge-qt57.patch) +sha256sums=('132d022337140f841f51420536c31dfe07c90fa3a38878279026825f5d2526fe' + '3d86a4f4933fffceb5bb7dc5b2ecd1cc69713c5fe87eb4097b2d2c4bfa3ef3f2') +prepare() { + cd "${srcdir}"/$pkgname-$pkgver + patch -Np1 -i "${srcdir}"/$pkgname-qt57.patch +} + build() { cd "${srcdir}"/$pkgname-$pkgver Added: skrooge-qt57.patch =================================================================== --- skrooge-qt57.patch (rev 0) +++ skrooge-qt57.patch 2016-07-04 19:22:17 UTC (rev 182231) @@ -0,0 +1,231 @@ +diff --git a/skgbasemodeler/skgdefine.h b/skgbasemodeler/skgdefine.h +index 5c0a207..7a216ae 100644 +--- a/skgbasemodeler/skgdefine.h ++++ b/skgbasemodeler/skgdefine.h +@@ -28,6 +28,7 @@ + + #include "skgbasemodeler_export.h" + ++#if QT_VERSION < QT_VERSION_CHECK(5, 7, 0) + + template <typename T> struct QAddConst { + typedef const T Type; +@@ -37,6 +38,8 @@ template <typename T> struct QAddConst { + template <typename T> + Q_DECL_CONSTEXPR typename QAddConst<T>::Type& qAsConst(T& t) Q_DECL_NOTHROW { return t; } + ++#endif ++ + /** + * @var OBJECTSEPARATOR + * Define the separator between object and subobject +diff --git a/skgbasemodeler/skgdocument.cpp b/skgbasemodeler/skgdocument.cpp +index cec76e9..5fb275a 100644 +--- a/skgbasemodeler/skgdocument.cpp ++++ b/skgbasemodeler/skgdocument.cpp +@@ -854,7 +854,8 @@ QStringList SKGDocument::getImpactedViews(const QString& iTable) + for (int i = 0; i < l.count(); ++i) { // Warning: the size of l will change in the loop + QString item = l.at(i); + if (m_ImpactedViews.contains(item)) { +- for (const auto& name : qAsConst(m_ImpactedViews.value(item))) ++ QStringList impactedView = m_ImpactedViews.value(item); ++ for (const auto& name : qAsConst(impactedView)) + if (!l.contains(name)) { + l.push_back(name); + } +diff --git a/skgsqlcipher/qsql_sqlite.cpp b/skgsqlcipher/qsql_sqlite.cpp +index 482cd35..ee1fcf6 100644 +--- a/skgsqlcipher/qsql_sqlite.cpp ++++ b/skgsqlcipher/qsql_sqlite.cpp +@@ -130,7 +130,10 @@ protected: + void virtual_hook(int id, void* data) Q_DECL_OVERRIDE; + + private: +- QSQLiteResultPrivate* d; ++#if QT_VERSION < QT_VERSION_CHECK(5, 7, 0) ++ QSQLiteResultPrivate* d_ptr; ++#endif ++ Q_DECLARE_PRIVATE(QSQLiteResult) + }; + + class QSQLiteDriverPrivate : public QSqlDriverPrivate +@@ -145,17 +148,25 @@ public: + }; + + ++#if QT_VERSION >= QT_VERSION_CHECK(5, 7, 0) ++class QSQLiteResultPrivate : public QSqlCachedResultPrivate ++#else + class QSQLiteResultPrivate ++#endif + { + public: +- QSQLiteResultPrivate(QSQLiteResult* res); ++#if QT_VERSION >= QT_VERSION_CHECK(5, 7, 0) ++ QSQLiteResultPrivate(QSQLiteResult *res, const QSQLiteDriver *drv); ++#else ++ QSQLiteResultPrivate(QSQLiteResult *res); ++ QSQLiteResult* q_ptr; ++#endif + void cleanup(); + bool fetchNext(QSqlCachedResult::ValueCache& values, int idx, bool initialFetch); + // initializes the recordInfo and the cache + void initColumns(bool emptyResultset); + void finalize(); + +- QSQLiteResult* q; + sqlite3* access; + + sqlite3_stmt* stmt; +@@ -164,15 +175,27 @@ public: + bool skipRow; // skip the next fetchNext()? + QSqlRecord rInf; + QVector<QVariant> firstRow; ++ ++ Q_DECLARE_PUBLIC(QSQLiteResult) + }; + +-QSQLiteResultPrivate::QSQLiteResultPrivate(QSQLiteResult* res) : q(res), access(0), +- stmt(0), skippedStatus(false), skipRow(false) ++#if QT_VERSION >= QT_VERSION_CHECK(5, 7, 0) ++QSQLiteResultPrivate::QSQLiteResultPrivate(QSQLiteResult *res, const QSQLiteDriver *drv) ++ : QSqlCachedResultPrivate(res, drv) ++#else ++QSQLiteResultPrivate::QSQLiteResultPrivate(QSQLiteResult* res) ++ : q_ptr(res) ++#endif ++ , access(0) ++ , stmt(0) ++ , skippedStatus(false) ++ , skipRow(false) + { + } + + void QSQLiteResultPrivate::cleanup() + { ++ Q_Q(QSQLiteResult); + finalize(); + rInf.clear(); + skippedStatus = false; +@@ -194,6 +217,7 @@ void QSQLiteResultPrivate::finalize() + + void QSQLiteResultPrivate::initColumns(bool emptyResultset) + { ++ Q_Q(QSQLiteResult); + int nCols = sqlite3_column_count(stmt); + if (nCols <= 0) { + return; +@@ -246,6 +270,8 @@ void QSQLiteResultPrivate::initColumns(bool emptyResultset) + + bool QSQLiteResultPrivate::fetchNext(QSqlCachedResult::ValueCache& values, int idx, bool initialFetch) + { ++ Q_Q(QSQLiteResult); ++ + int res; + int i; + +@@ -352,21 +378,29 @@ bool QSQLiteResultPrivate::fetchNext(QSqlCachedResult::ValueCache& values, int i + } + + QSQLiteResult::QSQLiteResult(const QSQLiteDriver* db) ++#if QT_VERSION >= QT_VERSION_CHECK(5, 7, 0) ++ : QSqlCachedResult(*new QSQLiteResultPrivate(this, db)) ++#else + : QSqlCachedResult(db) ++ , d_ptr(new QSQLiteResultPrivate(this)) ++#endif + { +- d = new QSQLiteResultPrivate(this); ++ Q_D(QSQLiteResult); + d->access = db->d_func()->access; + const_cast<QSQLiteDriverPrivate*>(db->d_func())->results.append(this); + } + + QSQLiteResult::~QSQLiteResult() + { ++ Q_D(QSQLiteResult); + const QSqlDriver* sqlDriver = driver(); + if (sqlDriver) { + const_cast<QSQLiteDriverPrivate*>(qobject_cast<const QSQLiteDriver*>(sqlDriver)->d_func())->results.removeOne(this); + } + d->cleanup(); ++#if QT_VERSION < QT_VERSION_CHECK(5, 7, 0) + delete d; ++#endif + } + + void QSQLiteResult::virtual_hook(int id, void* data) +@@ -384,6 +418,7 @@ bool QSQLiteResult::reset(const QString& query) + + bool QSQLiteResult::prepare(const QString& query) + { ++ Q_D(QSQLiteResult); + if (!driver() || !driver()->isOpen() || driver()->isOpenError()) { + return false; + } +@@ -418,6 +453,7 @@ bool QSQLiteResult::prepare(const QString& query) + + bool QSQLiteResult::exec() + { ++ Q_D(QSQLiteResult); + const QVector<QVariant> values = boundValues(); + + d->skippedStatus = false; +@@ -515,7 +551,7 @@ bool QSQLiteResult::exec() + + bool QSQLiteResult::gotoNext(QSqlCachedResult::ValueCache& row, int idx) + { +- return d->fetchNext(row, idx, false); ++ return d_func()->fetchNext(row, idx, false); + } + + int QSQLiteResult::size() +@@ -525,13 +561,13 @@ int QSQLiteResult::size() + + int QSQLiteResult::numRowsAffected() + { +- return sqlite3_changes(d->access); ++ return sqlite3_changes(d_func()->access); + } + + QVariant QSQLiteResult::lastInsertId() const + { + if (isActive()) { +- qint64 id = sqlite3_last_insert_rowid(d->access); ++ qint64 id = sqlite3_last_insert_rowid(d_func()->access); + if (id) { + return id; + } +@@ -544,19 +580,19 @@ QSqlRecord QSQLiteResult::record() const + if (!isActive() || !isSelect()) { + return QSqlRecord(); + } +- return d->rInf; ++ return d_func()->rInf; + } + + void QSQLiteResult::detachFromResultSet() + { +- if (d->stmt) { +- sqlite3_reset(d->stmt); ++ if (d_func()->stmt) { ++ sqlite3_reset(d_func()->stmt); + } + } + + QVariant QSQLiteResult::handle() const + { +- return QVariant::fromValue(d->stmt); ++ return QVariant::fromValue(d_func()->stmt); + } + + ///////////////////////////////////////////////////////// +@@ -668,7 +704,7 @@ void QSQLiteDriver::close() + Q_D(QSQLiteDriver); + if (isOpen()) { + foreach (QSQLiteResult* result, d->results) { +- result->d->finalize(); ++ result->d_func()->finalize(); + } + + if (sqlite3_close(d->access) != SQLITE_OK) Modified: skrooge.changelog =================================================================== --- skrooge.changelog 2016-07-04 19:19:36 UTC (rev 182230) +++ skrooge.changelog 2016-07-04 19:22:17 UTC (rev 182231) @@ -1,3 +1,6 @@ +2016-07-04 Jaroslav Lichtblau <svetlemo...@archlinux.org> + * skrooge 2.4.0-3 FS#49880 fix + 2016-05-11 Jaroslav Lichtblau <svetlemo...@archlinux.org> * skrooge 2.4.0-1