kmymoney: fix segfault with qt5-5.15.3+20210429
This commit is contained in:
parent
09475c27e7
commit
6e5418536a
2 changed files with 176 additions and 1 deletions
|
@ -0,0 +1,174 @@
|
||||||
|
From de390aed4652a0e9ff0bffcade33827a6283aaa1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Albert Astals Cid <aacid@kde.org>
|
||||||
|
Date: Thu, 8 Apr 2021 22:57:29 +0200
|
||||||
|
Subject: [PATCH] Fix crash with newer Qt versions
|
||||||
|
|
||||||
|
Newer Qt versions call filterAcceptsRow from QSortFilterProxyModel::setSourceModel so we need to call AccountsProxyModel::setSourceColumns before setSourceModel
|
||||||
|
---
|
||||||
|
kmymoney/converter/mymoneystatementreader.cpp | 2 +-
|
||||||
|
kmymoney/dialogs/kaccountselectdlg.cpp | 2 +-
|
||||||
|
kmymoney/dialogs/knewaccountdlg.cpp | 2 +-
|
||||||
|
kmymoney/views/kgloballedgerview_p.h | 2 +-
|
||||||
|
kmymoney/views/kinvestmentview_p.h | 2 +-
|
||||||
|
kmymoney/views/kpayeesview_p.h | 2 +-
|
||||||
|
kmymoney/views/newspliteditor.cpp | 2 +-
|
||||||
|
kmymoney/views/newtransactioneditor.cpp | 2 +-
|
||||||
|
kmymoney/views/simpleledgerview.cpp | 2 +-
|
||||||
|
kmymoney/widgets/kmymoneyaccounttreeview.cpp | 2 +-
|
||||||
|
kmymoney/wizards/newaccountwizard/khierarchypage.cpp | 2 +-
|
||||||
|
11 files changed, 11 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/kmymoney/converter/mymoneystatementreader.cpp b/kmymoney/converter/mymoneystatementreader.cpp
|
||||||
|
index af9a6a345..2158f5ba7 100644
|
||||||
|
--- a/kmymoney/converter/mymoneystatementreader.cpp
|
||||||
|
+++ b/kmymoney/converter/mymoneystatementreader.cpp
|
||||||
|
@@ -1043,8 +1043,8 @@ void MyMoneyStatementReader::processTransactionEntry(const MyMoneyStatement::Tra
|
||||||
|
filterProxyModel->addAccountGroup(QVector<Account::Type> {Account::Type::Asset, Account::Type::Liability, Account::Type::Equity, Account::Type::Income, Account::Type::Expense});
|
||||||
|
|
||||||
|
auto const model = Models::instance()->accountsModel();
|
||||||
|
- filterProxyModel->setSourceModel(model);
|
||||||
|
filterProxyModel->setSourceColumns(model->getColumns());
|
||||||
|
+ filterProxyModel->setSourceModel(model);
|
||||||
|
filterProxyModel->sort((int)eAccountsModel::Column::Account);
|
||||||
|
|
||||||
|
QPointer<KMyMoneyAccountCombo> accountCombo = new KMyMoneyAccountCombo(filterProxyModel);
|
||||||
|
diff --git a/kmymoney/dialogs/kaccountselectdlg.cpp b/kmymoney/dialogs/kaccountselectdlg.cpp
|
||||||
|
index 8495ab8c1..21b939873 100644
|
||||||
|
--- a/kmymoney/dialogs/kaccountselectdlg.cpp
|
||||||
|
+++ b/kmymoney/dialogs/kaccountselectdlg.cpp
|
||||||
|
@@ -123,8 +123,8 @@ KAccountSelectDlg::KAccountSelectDlg(const eDialogs::Category accountType, const
|
||||||
|
filterProxyModel->addAccountGroup(accountTypes);
|
||||||
|
|
||||||
|
auto model = Models::instance()->accountsModel();
|
||||||
|
- filterProxyModel->setSourceModel(model);
|
||||||
|
filterProxyModel->setSourceColumns(model->getColumns());
|
||||||
|
+ filterProxyModel->setSourceModel(model);
|
||||||
|
filterProxyModel->sort((int)eAccountsModel::Column::Account);
|
||||||
|
|
||||||
|
d->ui->m_accountSelector->setModel(filterProxyModel);
|
||||||
|
diff --git a/kmymoney/dialogs/knewaccountdlg.cpp b/kmymoney/dialogs/knewaccountdlg.cpp
|
||||||
|
index c8b37b41e..d6c8b8bf4 100644
|
||||||
|
--- a/kmymoney/dialogs/knewaccountdlg.cpp
|
||||||
|
+++ b/kmymoney/dialogs/knewaccountdlg.cpp
|
||||||
|
@@ -124,8 +124,8 @@ class KNewAccountDlgPrivate
|
||||||
|
m_filterProxyModel->addAccountGroup(filterAccountGroup);
|
||||||
|
m_filterProxyModel->setCurrentAccountId(m_account.id());
|
||||||
|
auto const model = Models::instance()->accountsModel();
|
||||||
|
- m_filterProxyModel->setSourceModel(model);
|
||||||
|
m_filterProxyModel->setSourceColumns(model->getColumns());
|
||||||
|
+ m_filterProxyModel->setSourceModel(model);
|
||||||
|
m_filterProxyModel->setDynamicSortFilter(true);
|
||||||
|
|
||||||
|
ui->m_parentAccounts->setModel(m_filterProxyModel);
|
||||||
|
diff --git a/kmymoney/views/kgloballedgerview_p.h b/kmymoney/views/kgloballedgerview_p.h
|
||||||
|
index 69ee133b9..50862ccdb 100644
|
||||||
|
--- a/kmymoney/views/kgloballedgerview_p.h
|
||||||
|
+++ b/kmymoney/views/kgloballedgerview_p.h
|
||||||
|
@@ -271,8 +271,8 @@ class KGlobalLedgerViewPrivate : public KMyMoneyViewBasePrivate
|
||||||
|
m_filterProxyModel = new AccountNamesFilterProxyModel(q);
|
||||||
|
m_filterProxyModel->addAccountGroup(QVector<eMyMoney::Account::Type> {eMyMoney::Account::Type::Asset, eMyMoney::Account::Type::Liability, eMyMoney::Account::Type::Equity});
|
||||||
|
auto const model = Models::instance()->accountsModel();
|
||||||
|
- m_filterProxyModel->setSourceModel(model);
|
||||||
|
m_filterProxyModel->setSourceColumns(model->getColumns());
|
||||||
|
+ m_filterProxyModel->setSourceModel(model);
|
||||||
|
m_filterProxyModel->sort((int)eAccountsModel::Column::Account);
|
||||||
|
|
||||||
|
// create the toolbar frame at the top of the view
|
||||||
|
diff --git a/kmymoney/views/kinvestmentview_p.h b/kmymoney/views/kinvestmentview_p.h
|
||||||
|
index 34db5d117..66bb87483 100644
|
||||||
|
--- a/kmymoney/views/kinvestmentview_p.h
|
||||||
|
+++ b/kmymoney/views/kinvestmentview_p.h
|
||||||
|
@@ -104,8 +104,8 @@ class KInvestmentViewPrivate : public KMyMoneyViewBasePrivate
|
||||||
|
m_accountsProxyModel->addAccountType(eMyMoney::Account::Type::Investment);
|
||||||
|
m_accountsProxyModel->setHideEquityAccounts(false);
|
||||||
|
auto const model = Models::instance()->accountsModel();
|
||||||
|
- m_accountsProxyModel->setSourceModel(model);
|
||||||
|
m_accountsProxyModel->setSourceColumns(model->getColumns());
|
||||||
|
+ m_accountsProxyModel->setSourceModel(model);
|
||||||
|
m_accountsProxyModel->sort((int)eAccountsModel::Column::Account);
|
||||||
|
ui->m_accountComboBox->setModel(m_accountsProxyModel);
|
||||||
|
ui->m_accountComboBox->expandAll();
|
||||||
|
diff --git a/kmymoney/views/kpayeesview_p.h b/kmymoney/views/kpayeesview_p.h
|
||||||
|
index fd9d6b706..771a1e060 100644
|
||||||
|
--- a/kmymoney/views/kpayeesview_p.h
|
||||||
|
+++ b/kmymoney/views/kpayeesview_p.h
|
||||||
|
@@ -146,8 +146,8 @@ class KPayeesViewPrivate : public KMyMoneyViewBasePrivate
|
||||||
|
m_filterProxyModel->addAccountGroup(QVector<eMyMoney::Account::Type> {eMyMoney::Account::Type::Asset, eMyMoney::Account::Type::Liability, eMyMoney::Account::Type::Income, eMyMoney::Account::Type::Expense, eMyMoney::Account::Type::Equity});
|
||||||
|
|
||||||
|
auto const model = Models::instance()->accountsModel();
|
||||||
|
- m_filterProxyModel->setSourceModel(model);
|
||||||
|
m_filterProxyModel->setSourceColumns(model->getColumns());
|
||||||
|
+ m_filterProxyModel->setSourceModel(model);
|
||||||
|
m_filterProxyModel->sort((int)eAccountsModel::Column::Account);
|
||||||
|
ui->comboDefaultCategory->setModel(m_filterProxyModel);
|
||||||
|
|
||||||
|
diff --git a/kmymoney/views/newspliteditor.cpp b/kmymoney/views/newspliteditor.cpp
|
||||||
|
index 0272507de..c71f7f784 100644
|
||||||
|
--- a/kmymoney/views/newspliteditor.cpp
|
||||||
|
+++ b/kmymoney/views/newspliteditor.cpp
|
||||||
|
@@ -200,8 +200,8 @@ NewSplitEditor::NewSplitEditor(QWidget* parent, const QString& counterAccountId)
|
||||||
|
d->accountsModel->addAccountGroup(QVector<eMyMoney::Account::Type> {eMyMoney::Account::Type::Asset, eMyMoney::Account::Type::Liability, eMyMoney::Account::Type::Income, eMyMoney::Account::Type::Expense, eMyMoney::Account::Type::Equity,});
|
||||||
|
d->accountsModel->setHideEquityAccounts(false);
|
||||||
|
auto const model = Models::instance()->accountsModel();
|
||||||
|
- d->accountsModel->setSourceModel(model);
|
||||||
|
d->accountsModel->setSourceColumns(model->getColumns());
|
||||||
|
+ d->accountsModel->setSourceModel(model);
|
||||||
|
d->accountsModel->sort((int)eAccountsModel::Column::Account);
|
||||||
|
d->ui->accountCombo->setModel(d->accountsModel);
|
||||||
|
|
||||||
|
diff --git a/kmymoney/views/newtransactioneditor.cpp b/kmymoney/views/newtransactioneditor.cpp
|
||||||
|
index 0163d233e..5fc5cf6e0 100644
|
||||||
|
--- a/kmymoney/views/newtransactioneditor.cpp
|
||||||
|
+++ b/kmymoney/views/newtransactioneditor.cpp
|
||||||
|
@@ -356,8 +356,8 @@ NewTransactionEditor::NewTransactionEditor(QWidget* parent, const QString& accou
|
||||||
|
|
||||||
|
d->accountsModel->addAccountGroup(QVector<eMyMoney::Account::Type> {eMyMoney::Account::Type::Asset, eMyMoney::Account::Type::Liability, eMyMoney::Account::Type::Income, eMyMoney::Account::Type::Expense, eMyMoney::Account::Type::Equity});
|
||||||
|
d->accountsModel->setHideEquityAccounts(false);
|
||||||
|
- d->accountsModel->setSourceModel(model);
|
||||||
|
d->accountsModel->setSourceColumns(model->getColumns());
|
||||||
|
+ d->accountsModel->setSourceModel(model);
|
||||||
|
d->accountsModel->sort((int)eAccountsModel::Column::Account);
|
||||||
|
d->ui->accountCombo->setModel(d->accountsModel);
|
||||||
|
|
||||||
|
diff --git a/kmymoney/views/simpleledgerview.cpp b/kmymoney/views/simpleledgerview.cpp
|
||||||
|
index 99a6d790c..64dc303bc 100644
|
||||||
|
--- a/kmymoney/views/simpleledgerview.cpp
|
||||||
|
+++ b/kmymoney/views/simpleledgerview.cpp
|
||||||
|
@@ -95,8 +95,8 @@ class SimpleLedgerViewPrivate : public KMyMoneyViewBasePrivate
|
||||||
|
|
||||||
|
accountsModel->setHideEquityAccounts(false);
|
||||||
|
auto const model = Models::instance()->accountsModel();
|
||||||
|
- accountsModel->setSourceModel(model);
|
||||||
|
accountsModel->setSourceColumns(model->getColumns());
|
||||||
|
+ accountsModel->setSourceModel(model);
|
||||||
|
accountsModel->sort((int)eAccountsModel::Column::Account);
|
||||||
|
ui->accountCombo->setModel(accountsModel);
|
||||||
|
|
||||||
|
diff --git a/kmymoney/widgets/kmymoneyaccounttreeview.cpp b/kmymoney/widgets/kmymoneyaccounttreeview.cpp
|
||||||
|
index 61271106d..1d0ee59ca 100644
|
||||||
|
--- a/kmymoney/widgets/kmymoneyaccounttreeview.cpp
|
||||||
|
+++ b/kmymoney/widgets/kmymoneyaccounttreeview.cpp
|
||||||
|
@@ -167,8 +167,8 @@ AccountsViewProxyModel *KMyMoneyAccountTreeView::init(View view)
|
||||||
|
institutionsModel->setColumnVisibility(column, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
- d->m_model->setSourceModel(sourceModel);
|
||||||
|
d->m_model->setSourceColumns(sourceModel->getColumns());
|
||||||
|
+ d->m_model->setSourceModel(sourceModel);
|
||||||
|
d->m_model->setFilterCaseSensitivity(Qt::CaseInsensitive);
|
||||||
|
d->m_model->setSortLocaleAware(true);
|
||||||
|
setModel(d->m_model);
|
||||||
|
diff --git a/kmymoney/wizards/newaccountwizard/khierarchypage.cpp b/kmymoney/wizards/newaccountwizard/khierarchypage.cpp
|
||||||
|
index efd117205..456e781ce 100644
|
||||||
|
--- a/kmymoney/wizards/newaccountwizard/khierarchypage.cpp
|
||||||
|
+++ b/kmymoney/wizards/newaccountwizard/khierarchypage.cpp
|
||||||
|
@@ -53,8 +53,8 @@ HierarchyPage::HierarchyPage(Wizard* wizard) :
|
||||||
|
d->m_filterProxyModel->setHideEquityAccounts(!KMyMoneySettings::expertMode());
|
||||||
|
d->m_filterProxyModel->addAccountGroup(QVector<Account::Type> {Account::Type::Asset, Account::Type::Liability});
|
||||||
|
auto const model = Models::instance()->accountsModel();
|
||||||
|
- d->m_filterProxyModel->setSourceModel(model);
|
||||||
|
d->m_filterProxyModel->setSourceColumns(model->getColumns());
|
||||||
|
+ d->m_filterProxyModel->setSourceModel(model);
|
||||||
|
d->m_filterProxyModel->setDynamicSortFilter(true);
|
||||||
|
|
||||||
|
d->ui->m_parentAccounts->setModel(d->m_filterProxyModel);
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'kmymoney'
|
# Template file for 'kmymoney'
|
||||||
pkgname=kmymoney
|
pkgname=kmymoney
|
||||||
version=5.1.1
|
version=5.1.1
|
||||||
revision=2
|
revision=3
|
||||||
build_style=cmake
|
build_style=cmake
|
||||||
configure_args="-DDESKTOPTOJSON_EXECUTABLE=/usr/bin/desktoptojson
|
configure_args="-DDESKTOPTOJSON_EXECUTABLE=/usr/bin/desktoptojson
|
||||||
-DBUILD_TESTING=OFF"
|
-DBUILD_TESTING=OFF"
|
||||||
|
@ -19,6 +19,7 @@ license="GPL-2.0-or-later"
|
||||||
homepage="https://kmymoney.org"
|
homepage="https://kmymoney.org"
|
||||||
distfiles="${KDE_SITE}/kmymoney/${version}/src/${pkgname}-${version}.tar.xz"
|
distfiles="${KDE_SITE}/kmymoney/${version}/src/${pkgname}-${version}.tar.xz"
|
||||||
checksum=df7b9f78e8596f99d28295ca738708f0655ee057789dfd921c7b1bab96578298
|
checksum=df7b9f78e8596f99d28295ca738708f0655ee057789dfd921c7b1bab96578298
|
||||||
|
patch_args="-Np1"
|
||||||
|
|
||||||
if [ "$CROSS_BUILD" ]; then
|
if [ "$CROSS_BUILD" ]; then
|
||||||
configure_args+=" -DENABLE_LIBICAL=0"
|
configure_args+=" -DENABLE_LIBICAL=0"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue