Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package kf6-kitemmodels for openSUSE:Factory
checked in at 2026-02-16 13:02:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kf6-kitemmodels (Old)
and /work/SRC/openSUSE:Factory/.kf6-kitemmodels.new.1977 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kf6-kitemmodels"
Mon Feb 16 13:02:53 2026 rev:24 rq:1332937 version:6.23.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/kf6-kitemmodels/kf6-kitemmodels.changes
2026-01-12 10:16:08.132699091 +0100
+++
/work/SRC/openSUSE:Factory/.kf6-kitemmodels.new.1977/kf6-kitemmodels.changes
2026-02-16 13:05:46.221195556 +0100
@@ -1,0 +2,15 @@
+Fri Feb 6 14:25:54 UTC 2026 - Christophe Marin <[email protected]>
+
+- Update to 6.23.0
+ * New feature release
+ * For more details please see:
+ * https://kde.org/announcements/frameworks/6/6.23.0
+- Changes since 6.22.0:
+ * Update dependency version to 6.23.0
+ * Remove wrong documentation markup
+ * Fix memory leaks in unit tests
+ * Enable LSAN in CI
+ * KRearrangeColumnsProxyModel: don't nest begin/endResetModel signals
+ * Update version to 6.23.0
+
+-------------------------------------------------------------------
Old:
----
kitemmodels-6.22.0.tar.xz
kitemmodels-6.22.0.tar.xz.sig
New:
----
kitemmodels-6.23.0.tar.xz
kitemmodels-6.23.0.tar.xz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kf6-kitemmodels.spec ++++++
--- /var/tmp/diff_new_pack.FMnjhl/_old 2026-02-16 13:05:47.889264699 +0100
+++ /var/tmp/diff_new_pack.FMnjhl/_new 2026-02-16 13:05:47.889264699 +0100
@@ -19,12 +19,12 @@
%define qt6_version 6.8.0
%define rname kitemmodels
-# Full KF6 version (e.g. 6.22.0)
+# Full KF6 version (e.g. 6.23.0)
%{!?_kf6_version: %global _kf6_version %{version}}
%bcond_with python
%bcond_without released
Name: kf6-kitemmodels
-Version: 6.22.0
+Version: 6.23.0
Release: 0
Summary: Set of item models extending the Qt model-view framework
License: LGPL-2.1-or-later
++++++ kitemmodels-6.22.0.tar.xz -> kitemmodels-6.23.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kitemmodels-6.22.0/.kde-ci.yml
new/kitemmodels-6.23.0/.kde-ci.yml
--- old/kitemmodels-6.22.0/.kde-ci.yml 2026-01-02 18:42:53.000000000 +0100
+++ new/kitemmodels-6.23.0/.kde-ci.yml 2026-02-06 13:15:31.000000000 +0100
@@ -6,3 +6,4 @@
Options:
test-before-installing: True
require-passing-tests-on: ['Linux', 'FreeBSD', 'Windows']
+ enable-lsan: True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kitemmodels-6.22.0/CMakeLists.txt
new/kitemmodels-6.23.0/CMakeLists.txt
--- old/kitemmodels-6.22.0/CMakeLists.txt 2026-01-02 18:42:53.000000000
+0100
+++ new/kitemmodels-6.23.0/CMakeLists.txt 2026-02-06 13:15:31.000000000
+0100
@@ -1,10 +1,10 @@
-cmake_minimum_required(VERSION 3.16)
+cmake_minimum_required(VERSION 3.27)
-set(KF_VERSION "6.22.0") # handled by release scripts
+set(KF_VERSION "6.23.0") # handled by release scripts
project(KItemModels VERSION ${KF_VERSION})
include(FeatureSummary)
-find_package(ECM 6.22.0 NO_MODULE)
+find_package(ECM 6.23.0 NO_MODULE)
set_package_properties(ECM PROPERTIES
TYPE REQUIRED
DESCRIPTION "Extra CMake Modules."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kitemmodels-6.22.0/autotests/kdescendantsproxymodel_smoketest.cpp
new/kitemmodels-6.23.0/autotests/kdescendantsproxymodel_smoketest.cpp
--- old/kitemmodels-6.22.0/autotests/kdescendantsproxymodel_smoketest.cpp
2026-01-02 18:42:53.000000000 +0100
+++ new/kitemmodels-6.23.0/autotests/kdescendantsproxymodel_smoketest.cpp
2026-02-06 13:15:31.000000000 +0100
@@ -256,6 +256,7 @@
{
qDebug() << data;
connectTestSignals(data);
+ m_data.reset(data);
}
protected:
@@ -277,6 +278,7 @@
private:
KDescendantsProxyModel *m_proxyModel;
+ std::unique_ptr<TestData> m_data;
};
PROXYMODELTEST_MAIN(DescendantsProxyModelTest,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kitemmodels-6.22.0/autotests/kdescendantsproxymodeltest.cpp
new/kitemmodels-6.23.0/autotests/kdescendantsproxymodeltest.cpp
--- old/kitemmodels-6.22.0/autotests/kdescendantsproxymodeltest.cpp
2026-01-02 18:42:53.000000000 +0100
+++ new/kitemmodels-6.23.0/autotests/kdescendantsproxymodeltest.cpp
2026-02-06 13:15:31.000000000 +0100
@@ -294,7 +294,7 @@
{
auto model1 = createTree("FirstModel");
KDescendantsProxyModel proxy;
- new QAbstractItemModelTester(&proxy);
+ QAbstractItemModelTester modelTest(&proxy);
proxy.setSourceModel(model1.get());
QCOMPARE(proxy.rowCount(), 6);
@@ -339,7 +339,7 @@
{
auto model1 = createTree("FirstModel");
KDescendantsProxyModel proxy;
- new QAbstractItemModelTester(&proxy); // ensure no nested signals
+ QAbstractItemModelTester modelTest(&proxy); // ensure no nested signals
QIdentityProxyModel identityProxy;
identityProxy.setSourceModel(model1.get());
proxy.setSourceModel(&identityProxy);
@@ -387,7 +387,7 @@
{
auto model1 = createTree("FirstModel");
KDescendantsProxyModel proxy;
- new QAbstractItemModelTester(&proxy);
+ QAbstractItemModelTester modelTest(&proxy);
proxy.setSourceModel(model1.get());
proxy.setDisplayAncestorData(true);
QSignalSpy dataChangedSpy(&proxy, &QAbstractItemModel::dataChanged);
@@ -426,7 +426,7 @@
{
auto model1 = createTree("FirstModel");
KDescendantsProxyModel proxy;
- new QAbstractItemModelTester(&proxy);
+ QAbstractItemModelTester modelTest(&proxy);
proxy.setSourceModel(model1.get());
QSignalSpy dataChangedSpy(&proxy, &QAbstractItemModel::dataChanged);
QCOMPARE(proxy.rowCount(), 6);
@@ -464,7 +464,7 @@
{
auto model1 = createTree("FirstModel");
KDescendantsProxyModel proxy;
- new QAbstractItemModelTester(&proxy);
+ QAbstractItemModelTester modelTest(&proxy);
proxy.setSourceModel(model1.get());
QSignalSpy dataChangedSpy(&proxy, &QAbstractItemModel::dataChanged);
proxy.setDisplayAncestorData(true);
@@ -503,7 +503,7 @@
{
auto model1 = createTree("FirstModel");
KDescendantsProxyModel proxy;
- new QAbstractItemModelTester(&proxy);
+ QAbstractItemModelTester modelTest(&proxy);
proxy.setExpandsByDefault(false);
proxy.setSourceModel(model1.get());
QCOMPARE(proxy.rowCount(), 2);
@@ -732,7 +732,7 @@
model->insert(QModelIndex(), 0, QStringLiteral("Row0"));
model->insert(QModelIndex(), 0, QStringLiteral("Row1"));
KDescendantsProxyModel proxy;
- new QAbstractItemModelTester(&proxy);
+ QAbstractItemModelTester modelTest(&proxy);
proxy.setSourceModel(model);
QCOMPARE(proxy.rowCount(), 0);
}
@@ -750,7 +750,7 @@
model->getRootNode()->knownChildren = 2;
KDescendantsProxyModel proxy;
- new QAbstractItemModelTester(&proxy);
+ QAbstractItemModelTester modelTest(&proxy);
proxy.setSourceModel(model);
proxy.setExpandsByDefault(false);
QCOMPARE(proxy.rowCount(), 2);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kitemmodels-6.22.0/autotests/krearrangecolumnsproxymodeltest.cpp
new/kitemmodels-6.23.0/autotests/krearrangecolumnsproxymodeltest.cpp
--- old/kitemmodels-6.22.0/autotests/krearrangecolumnsproxymodeltest.cpp
2026-01-02 18:42:53.000000000 +0100
+++ new/kitemmodels-6.23.0/autotests/krearrangecolumnsproxymodeltest.cpp
2026-02-06 13:15:31.000000000 +0100
@@ -221,6 +221,25 @@
QCOMPARE(extractRowTexts(&mod, 0), QStringLiteral("AZCDE"));
}
+ void shouldNotNestReset()
+ {
+ // Given a rearrange-columns proxy
+ KRearrangeColumnsProxyModel pm;
+ connect(&mod, &QAbstractItemModel::modelReset, [&] {
+ pm.setSourceColumns({});
+ });
+ setup(pm);
+ QSignalSpy resetSpy(&pm, SIGNAL(modelReset()));
+
+ // When calling setSourceColumns in the middle of a reset
+ mod.clear();
+
+ // Then no nested signals should be emitted
+ QCOMPARE(resetSpy.count(), 1);
+ QCOMPARE(pm.rowCount(), 0);
+ QCOMPARE(pm.columnCount(), 0);
+ }
+
private:
// setup proxy
void setup(KRearrangeColumnsProxyModel &pm)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kitemmodels-6.22.0/src/core/krearrangecolumnsproxymodel.cpp
new/kitemmodels-6.23.0/src/core/krearrangecolumnsproxymodel.cpp
--- old/kitemmodels-6.22.0/src/core/krearrangecolumnsproxymodel.cpp
2026-01-02 18:42:53.000000000 +0100
+++ new/kitemmodels-6.23.0/src/core/krearrangecolumnsproxymodel.cpp
2026-02-06 13:15:31.000000000 +0100
@@ -11,6 +11,9 @@
{
public:
QList<int> m_sourceColumns;
+ bool m_resetting = false;
+ QMetaObject::Connection m_sourceModelAboutToBeResetConnection;
+ QMetaObject::Connection m_sourceModelResetConnection;
};
KRearrangeColumnsProxyModel::KRearrangeColumnsProxyModel(QObject *parent)
@@ -23,13 +26,28 @@
{
}
+void KRearrangeColumnsProxyModel::setSourceModel(QAbstractItemModel
*sourceModel)
+{
+ disconnect(d_ptr->m_sourceModelAboutToBeResetConnection);
+ disconnect(d_ptr->m_sourceModelResetConnection);
+ d_ptr->m_sourceModelAboutToBeResetConnection = connect(sourceModel,
&QAbstractItemModel::modelAboutToBeReset, this, [this]() {
+ d_ptr->m_resetting = true;
+ });
+ d_ptr->m_sourceModelResetConnection = connect(sourceModel,
&QAbstractItemModel::modelReset, this, [this]() {
+ d_ptr->m_resetting = false;
+ });
+ QIdentityProxyModel::setSourceModel(sourceModel);
+}
+
void KRearrangeColumnsProxyModel::setSourceColumns(const QList<int> &columns)
{
// We could use layoutChanged() here, but we would have to map persistent
// indexes from the old to the new location...
- beginResetModel();
+ if (!d_ptr->m_resetting)
+ beginResetModel();
d_ptr->m_sourceColumns = columns;
- endResetModel();
+ if (!d_ptr->m_resetting)
+ endResetModel();
}
int KRearrangeColumnsProxyModel::columnCount(const QModelIndex &parent) const
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kitemmodels-6.22.0/src/core/krearrangecolumnsproxymodel.h
new/kitemmodels-6.23.0/src/core/krearrangecolumnsproxymodel.h
--- old/kitemmodels-6.22.0/src/core/krearrangecolumnsproxymodel.h
2026-01-02 18:42:53.000000000 +0100
+++ new/kitemmodels-6.23.0/src/core/krearrangecolumnsproxymodel.h
2026-02-06 13:15:31.000000000 +0100
@@ -83,6 +83,8 @@
*/
int sourceColumnForProxyColumn(int proxyColumn) const;
+ void setSourceModel(QAbstractItemModel *sourceModel) override;
+
private:
std::unique_ptr<KRearrangeColumnsProxyModelPrivate> const d_ptr;
};