summaryrefslogtreecommitdiff
path: root/dev-qt/qtdeclarative
diff options
context:
space:
mode:
Diffstat (limited to 'dev-qt/qtdeclarative')
-rw-r--r--dev-qt/qtdeclarative/Manifest7
-rw-r--r--dev-qt/qtdeclarative/files/qtdeclarative-6.7.3-QTBUG-125053.patch259
-rw-r--r--dev-qt/qtdeclarative/files/qtdeclarative-6.7.3-QTBUG-129165.patch162
-rw-r--r--dev-qt/qtdeclarative/files/qtdeclarative-6.7.3-QTBUG-129622.patch84
-rw-r--r--dev-qt/qtdeclarative/qtdeclarative-6.7.2.ebuild47
-rw-r--r--dev-qt/qtdeclarative/qtdeclarative-6.7.3-r4.ebuild68
6 files changed, 0 insertions, 627 deletions
diff --git a/dev-qt/qtdeclarative/Manifest b/dev-qt/qtdeclarative/Manifest
index fca720e8ed26..37b6c8a4e34a 100644
--- a/dev-qt/qtdeclarative/Manifest
+++ b/dev-qt/qtdeclarative/Manifest
@@ -1,15 +1,8 @@
AUX qtdeclarative-5.14.2-QQuickItemView-fix-maxXY-extent.patch 1566 BLAKE2B b6436c9be0a7de092635e1fc3999c3142fc3e916cbcc69f472691bbd559f611b4d5741f3627c47162a5ac86126382507add72a25a121235e856b1de802ee19be SHA512 dd5193f8d8a051238dabf63306cc77e3a5696fc12241c27f35cadfd30763ddfeb2af7d640849dcc7a810b7087173b8e9af17341ea1b68440906f2c2f1f96fee3
-AUX qtdeclarative-6.7.3-QTBUG-125053.patch 9583 BLAKE2B d7bdfe4d0a002e5d17f57604dbece3294596a76d03bc3c12a05622d2c95a16bde4bb128d19c63e4856270a875c5b6b866c9cfed9f30a346b441a2b81e7cdf2d1 SHA512 3811879d972ff5a0dbfca98c2c2931f50dd9906dc0ecf75f13e59eae71d9d27dfc9279ba9952a00be81cab83e8f8e42e798d9b43d7d3d6974a1676f4e8e401ea
-AUX qtdeclarative-6.7.3-QTBUG-129165.patch 5469 BLAKE2B fa4ce581df827b6725b6ab3135fb95fba492814d19d72b7b3be75b621a91f98d534152c5d80b7e1f21e9d877979a1b0e3a09d9eafa034e702d31996bc9624670 SHA512 605ecb6f7e3412b9c59b4e7579df87be1d19846fe1977682cb548732fe57993321015dabe5c5a87ebb15ae3cd394059a5d25d8b24f607093f5cf6343fbb7a4d7
-AUX qtdeclarative-6.7.3-QTBUG-129622.patch 2811 BLAKE2B 998cc23491e21cde656d6b8f92a1924652a26343c09eaed9a4ffe23e1782b95960a41d40b3a78a2bb41b4687bc491b46969db8f610f050c87eef09a670544d90 SHA512 5a4ded399bd58d23a4c6dcc6cb82b4ef2cd15d099dbfc742a916f40899166c43893eb8d19494b7fc58d11dbe17532bb3d647b6638f63e7ca354f650d67c1ca95
DIST qtdeclarative-5.15.16-gentoo-kde-1.tar.xz 19148 BLAKE2B ebdc17253887c5b22816c3bdcd07f30274c3aa4680088ceee7abce8896a17aff7272e5a4bba576e1ad0372b7d1d80322c6890e1b5343eaab915a5355da659c5b SHA512 3fbbb7b06c67d31a9074737f68437a9e920e4b816c78c78dec2e700e339f6f8ad0b244a1eb78d7521133873b17015861a84057a890887d4dfbef91699428d8c6
DIST qtdeclarative-everywhere-opensource-src-5.15.16.tar.xz 21599596 BLAKE2B 7f69370eab4909891beb27a730e7082030715f1fcbd9faf87bdd8f3d7d3e469c56b609f58a1cf769bdb22303829d573d30fd9aaff4824456778d11ae46f7ddaa SHA512 be492d95d11ab13e13d27ca2024b5b5860d515d0b66c6d1c201bdba155841996bfdb3b813313dc75578228b6d3e661220dcc5db037624fe73d6e5e1c3ec84aa7
-DIST qtdeclarative-everywhere-src-6.7.2.tar.xz 35629324 BLAKE2B a2c5a17e2f88dd91dd7ae21950d8bb7bc0856f1f05a093405c68e1b3b584a75fee474a9a7116a1797c464e2ca92778ebec774d4afa5ac6eebb1022daabad8868 SHA512 ca172e79af317f481d6f5e6388dc074fc6f99966b896135ab9991fa1a9502e46b0ac21b7f2bc38278448939e77882c5fd17252e3e6460c1665f8156fa99bceaf
-DIST qtdeclarative-everywhere-src-6.7.3.tar.xz 35663596 BLAKE2B b9dc18b4a459c283883a9bd2b2708ea758dc2853e93af05a503b84cb348398e5cdd9b28f6735cbf8e480d252f33cf6c36b06deedd468e7b0169e59b5bae296cd SHA512 54e9b262b07c80eb6530da3e980319edd7370cc90f4241ebaf22a73e1f7f4f14177cea06276a0d3b2b553c6ed0825be0c56b9e2ddca53e99db57b67c3ad4bb47
DIST qtdeclarative-everywhere-src-6.8.1.tar.xz 36463572 BLAKE2B ac8b9d37c28ba22c266785cfe60bc0d405edb85f260b41bb01c43fd38dbeb51054d7f3f390bb9c4e78656dda3b9d5c7b945dba8ee897add0a2dbb398cc3f8a51 SHA512 f9548ee58ac81eac72f1763647a9f28c16e7ab73bf6bc828574e5194d5209c53440f834a721e9bb74f50d4e437ce2de6eb7c7a13acd8602b3080e95d8929e674
EBUILD qtdeclarative-5.15.16.ebuild 1530 BLAKE2B 24576184b211b27759546cf92467ed52fa9ecc428e7bc8eff0a90cf5edadd9f5fc32e671e7d862580c6da85991fa6af5f9b969b1237b1105e8cf4b695348084a SHA512 e07911a27b33a55f81eeb5e4bdf159c2733cedf2cda92d496b64fda61050136014e7dc1e0d4b28c5fe1651a915bd58851a99b99478b810be7252058fec2d5db4
-EBUILD qtdeclarative-6.7.2.ebuild 1168 BLAKE2B aaa0e93d2da030559e8ddb9fd69b7a25c5bb4e205646eaed0bbb7161f40316424e1e024a172dcfc775ce0ef6b7404a1b05b49e31590400b766504e7a1d97ef17 SHA512 5ba4a2d995c802216d36006d685222f5e963fd82a172f16cd35cfcee9c56a49b0ea7fcc102a8be7955c5e03d1ca3bb62607f48bce639af2b9a79e30fd8db03af
-EBUILD qtdeclarative-6.7.3-r4.ebuild 1906 BLAKE2B a4abc10583a52bc79aae8ebed3908ac2c1b98cb47c6ffc68abbaf61c9fd622bf84350bf902b2940879e92a1fd488af94b9fc3bff384aa2e72cd63d6c35d166ab SHA512 b03bd4eecfd5e609228d7d48020a970d240e8aac165f2aae59b02ec76f3a02982024abb0d42f3c1a74f955d3ad9090e8214cd4697fea0b62f6d1e88e50365d0a
EBUILD qtdeclarative-6.8.1.ebuild 1726 BLAKE2B eff8b8e4187cd94f483317027bede4adbbcfc53074983e92ae35b6b25542cd8e440798ae22943c9697ded2d3f413f00fbde4a8d656932b3c26e8ccf281eafedb SHA512 30977214a69db87ccaa5a02784f0b5c85aa210c8cd15afe19eadbaa6810a6abb011975e3bc61e9c83e57857db975a1112e566176d1b84d0e2d589bcdc1866ff7
EBUILD qtdeclarative-6.8.9999.ebuild 1732 BLAKE2B c4360321f3dba2b759215f8d82f38e1551653ed411761441419b3a6d4e198c8cd2ce91affdbcc6de7eb26b13c9a7944ff39f4b318bd0575ba17b6579179f9eca SHA512 0bfc28e5de34abca6dbc28f6d775ba06e312be95426a8bfbcd06955bdc2152f1773ee5f9ae3ecda124101ea2d64aa58ad6abc1aa373bbad001aadb888bb79785
EBUILD qtdeclarative-6.9.9999.ebuild 1732 BLAKE2B c4360321f3dba2b759215f8d82f38e1551653ed411761441419b3a6d4e198c8cd2ce91affdbcc6de7eb26b13c9a7944ff39f4b318bd0575ba17b6579179f9eca SHA512 0bfc28e5de34abca6dbc28f6d775ba06e312be95426a8bfbcd06955bdc2152f1773ee5f9ae3ecda124101ea2d64aa58ad6abc1aa373bbad001aadb888bb79785
diff --git a/dev-qt/qtdeclarative/files/qtdeclarative-6.7.3-QTBUG-125053.patch b/dev-qt/qtdeclarative/files/qtdeclarative-6.7.3-QTBUG-125053.patch
deleted file mode 100644
index c1aa74599923..000000000000
--- a/dev-qt/qtdeclarative/files/qtdeclarative-6.7.3-QTBUG-125053.patch
+++ /dev/null
@@ -1,259 +0,0 @@
-https://bugreports.qt.io/browse/QTBUG-125053
-https://bugreports.qt.io/browse/QTBUG-127340
-https://codereview.qt-project.org/c/qt/qtdeclarative/+/593122
---- a/src/qmlmodels/qqmldelegatemodel.cpp
-+++ b/src/qmlmodels/qqmldelegatemodel.cpp
-@@ -4,4 +4,6 @@
- #include "qqmldelegatemodel_p_p.h"
-
-+#include <QtCore/private/qabstractitemmodel_p.h>
-+
- #include <QtQml/qqmlinfo.h>
-
-@@ -168,5 +170,4 @@
- , m_incubatorCleanupScheduled(false)
- , m_waitingToFetchMore(false)
-- , m_maybeResetRoleNames(false)
- , m_cacheItems(nullptr)
- , m_items(nullptr)
-@@ -373,6 +374,4 @@
- qmlobject_connect(aim, QAbstractItemModel, SIGNAL(layoutChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint)),
- q, QQmlDelegateModel, SLOT(_q_layoutChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint)));
-- QObject::connect(aim, &QAbstractItemModel::modelReset, q, &QQmlDelegateModel::handleModelReset);
-- QObject::connect(aim, &QAbstractItemModel::layoutChanged, q, &QQmlDelegateModel::_q_layoutChanged);
- }
-
-@@ -404,6 +403,4 @@
- QObject::disconnect(aim, SIGNAL(layoutChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint)),
- q, SLOT(_q_layoutChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint)));
-- QObject::disconnect(aim, &QAbstractItemModel::modelReset, q, &QQmlDelegateModel::handleModelReset);
-- QObject::disconnect(aim, &QAbstractItemModel::layoutChanged, q, &QQmlDelegateModel::_q_layoutChanged);
- }
-
-@@ -429,4 +426,19 @@
- d->requestMoreIfNecessary();
- }
-+
-+ // Since 837c2f18cd223707e7cedb213257b0158ea07146, we connect to modelAboutToBeReset
-+ // rather than modelReset so that we can handle role name changes. _q_modelAboutToBeReset
-+ // now connects modelReset to handleModelReset with a single shot connection instead.
-+ // However, it's possible for user code to begin the reset before connectToAbstractItemModel is called
-+ // (QTBUG-125053), in which case we connect to modelReset too late and handleModelReset is never called,
-+ // resulting in delegates not being created in certain cases.
-+ // So, we check at the earliest point we can if the model is in the process of being reset,
-+ // and if so, connect modelReset to handleModelReset.
-+ if (d->m_adaptorModel.adaptsAim()) {
-+ auto *aim = d->m_adaptorModel.aim();
-+ auto *aimPrivate = QAbstractItemModelPrivate::get(aim);
-+ if (aimPrivate->resetting)
-+ QObject::connect(aim, &QAbstractItemModel::modelReset, this, &QQmlDelegateModel::handleModelReset, Qt::SingleShotConnection);
-+ }
- }
-
-@@ -1915,26 +1927,23 @@
- if (!d->m_adaptorModel.adaptsAim())
- return;
--
-- /*
-- roleNames are generally guaranteed to be stable (given that QAIM has no
-- change signal for them), except that resetting the model is allowed to
-- invalidate them (QTBUG-32132). DelegateModel must take this into account by
-- snapshotting the current roleNames before the model is reset.
-- Afterwards, if we detect that roleNames has changed, we throw the
-- current model set up away and rebuild everything from scratch – it is
-- unlikely that a more efficient implementation would be worth it.
--
-- If we detect no changes, we simply use the existing logic to handle the
-- model reset.
--
-- This (role name resetting) logic relies on the fact that
-- modelAboutToBeReset must be followed by a modelReset signal before any
-- further modelAboutToBeReset can occur. However, it's possible for user
-- code to begin the reset before connectToAbstractItemModel is called
-- (QTBUG-125053), in which case we don't attempt to reset the role names.
-- */
-- Q_ASSERT(!d->m_maybeResetRoleNames);
-- d->m_maybeResetRoleNames = true;
-- d->m_roleNamesBeforeReset = d->m_adaptorModel.aim()->roleNames();
-+ auto aim = d->m_adaptorModel.aim();
-+ auto oldRoleNames = aim->roleNames();
-+ // this relies on the fact that modelAboutToBeReset must be followed
-+ // by a modelReset signal before any further modelAboutToBeReset can occur
-+ QObject::connect(aim, &QAbstractItemModel::modelReset, this, [this, d, oldRoleNames, aim](){
-+ if (!d->m_adaptorModel.adaptsAim() || d->m_adaptorModel.aim() != aim)
-+ return;
-+ if (oldRoleNames == aim->roleNames()) {
-+ // if the rolenames stayed the same (most common case), then we don't have
-+ // to throw away all the setup that we did
-+ handleModelReset();
-+ } else {
-+ // If they did change, we give up and just start from scratch via setMode
-+ setModel(QVariant::fromValue(model()));
-+ // but we still have to call handleModelReset, otherwise views will
-+ // not refresh
-+ handleModelReset();
-+ }
-+ }, Qt::SingleShotConnection);
- }
-
-@@ -1946,21 +1955,4 @@
-
- int oldCount = d->m_count;
--
-- if (d->m_maybeResetRoleNames) {
-- auto aim = d->m_adaptorModel.aim();
-- if (!d->m_adaptorModel.adaptsAim() || d->m_adaptorModel.aim() != aim)
-- return;
--
-- // If the role names stayed the same (most common case), then we don't have
-- // to throw away all the setup that we did.
-- // If they did change, we give up and just start from scratch via setModel.
-- // We do this before handling the reset to ensure that views refresh.
-- if (aim->roleNames() != d->m_roleNamesBeforeReset)
-- setModel(QVariant::fromValue(model()));
--
-- d->m_maybeResetRoleNames = false;
-- d->m_roleNamesBeforeReset.clear();
-- }
--
- d->m_adaptorModel.rootIndex = QModelIndex();
-
---- a/src/qmlmodels/qqmldelegatemodel_p_p.h
-+++ b/src/qmlmodels/qqmldelegatemodel_p_p.h
-@@ -335,5 +335,4 @@
- QList<QQDMIncubationTask *> m_finishedIncubating;
- QList<QByteArray> m_watchedRoles;
-- QHash<int, QByteArray> m_roleNamesBeforeReset;
-
- QString m_filterGroup;
-@@ -349,5 +348,4 @@
- bool m_incubatorCleanupScheduled : 1;
- bool m_waitingToFetchMore : 1;
-- bool m_maybeResetRoleNames : 1;
-
- union {
---- a/tests/auto/qml/qqmldelegatemodel/data/proxyModelWithDelayedSourceModelInListView.qml
-+++ b/tests/auto/qml/qqmldelegatemodel/data/proxyModelWithDelayedSourceModelInListView.qml
-@@ -0,0 +1,30 @@
-+import QtQuick
-+import Test
-+
-+Window {
-+ id: root
-+ title: listView.count
-+
-+ property alias listView: listView
-+ property ProxySourceModel connectionModel: null
-+
-+ Component {
-+ id: modelComponent
-+ ProxySourceModel {}
-+ }
-+
-+ ListView {
-+ id: listView
-+ anchors.fill: parent
-+
-+ delegate: Text {
-+ text: model.Name
-+ }
-+
-+ model: ProxyModel {
-+ sourceModel: root.connectionModel
-+ }
-+ }
-+
-+ Component.onCompleted: root.connectionModel = modelComponent.createObject(root)
-+}
---- a/tests/auto/qml/qqmldelegatemodel/tst_qqmldelegatemodel.cpp
-+++ b/tests/auto/qml/qqmldelegatemodel/tst_qqmldelegatemodel.cpp
-@@ -4,4 +4,5 @@
- #include <QtTest/qtest.h>
- #include <QtCore/qjsonobject.h>
-+#include <QtCore/qsortfilterproxymodel.h>
- #include <QtCore/QConcatenateTablesProxyModel>
- #include <QtCore/qtimer.h>
-@@ -52,4 +53,5 @@
- void clearCacheDuringInsertion();
- void viewUpdatedOnDelegateChoiceAffectingRoleChange();
-+ void proxyModelWithDelayedSourceModelInListView();
- };
-
-@@ -732,4 +734,77 @@
- }
-
-+class ProxySourceModel : public QAbstractListModel
-+{
-+ Q_OBJECT
-+ QML_ELEMENT
-+public:
-+ explicit ProxySourceModel(QObject *parent = nullptr)
-+ : QAbstractListModel(parent)
-+ {
-+ for (int i = 0; i < rows; ++i) {
-+ beginInsertRows(QModelIndex(), i, i);
-+ endInsertRows();
-+ }
-+ }
-+
-+ ~ProxySourceModel() override = default;
-+
-+ int rowCount(const QModelIndex &) const override
-+ {
-+ return rows;
-+ }
-+
-+ QVariant data(const QModelIndex &, int ) const override
-+ {
-+ return "Hello";
-+ }
-+
-+ QHash<int, QByteArray> roleNames() const override
-+ {
-+ QHash<int, QByteArray> roles = QAbstractListModel::roleNames();
-+ roles[Qt::UserRole + 1] = "Name";
-+
-+ return roles;
-+ }
-+
-+ static const int rows = 1;
-+};
-+
-+class ProxyModel : public QSortFilterProxyModel
-+{
-+ Q_OBJECT
-+ QML_ELEMENT
-+ Q_PROPERTY(QAbstractItemModel *sourceModel READ sourceModel WRITE setSourceModel)
-+
-+public:
-+ explicit ProxyModel(QObject *parent = nullptr)
-+ : QSortFilterProxyModel(parent)
-+ {
-+ }
-+
-+ ~ProxyModel() override = default;
-+};
-+
-+// Checks that the correct amount of delegates are created when using a proxy
-+// model whose source model is set after a delay.
-+void tst_QQmlDelegateModel::proxyModelWithDelayedSourceModelInListView()
-+{
-+ QTest::failOnWarning();
-+
-+ qmlRegisterTypesAndRevisions<ProxySourceModel>("Test", 1);
-+ qmlRegisterTypesAndRevisions<ProxyModel>("Test", 1);
-+
-+ QQuickApplicationHelper helper(this, "proxyModelWithDelayedSourceModelInListView.qml");
-+ QVERIFY2(helper.ready, helper.failureMessage());
-+ QQuickWindow *window = helper.window;
-+ window->show();
-+ QVERIFY(QTest::qWaitForWindowExposed(window));
-+
-+ auto *listView = window->property("listView").value<QQuickListView *>();
-+ QVERIFY(listView);
-+ const auto delegateModel = QQuickItemViewPrivate::get(listView)->model;
-+ QTRY_COMPARE(listView->count(), 1);
-+}
-+
- QTEST_MAIN(tst_QQmlDelegateModel)
-
diff --git a/dev-qt/qtdeclarative/files/qtdeclarative-6.7.3-QTBUG-129165.patch b/dev-qt/qtdeclarative/files/qtdeclarative-6.7.3-QTBUG-129165.patch
deleted file mode 100644
index 78ea5f72a341..000000000000
--- a/dev-qt/qtdeclarative/files/qtdeclarative-6.7.3-QTBUG-129165.patch
+++ /dev/null
@@ -1,162 +0,0 @@
-Recommended backport from 6.8.0 to prevent a crash with kcm_pulseaudio.
-https://bugreports.qt.io/browse/QTBUG-129165
-https://bugs.kde.org/show_bug.cgi?id=493266
-(kde bug mentions is for 6.8.0, but was seemingly the -rc without the fix)
---- a/src/quick/items/qquickitemview.cpp
-+++ b/src/quick/items/qquickitemview.cpp
-@@ -11,4 +11,5 @@
-
- Q_LOGGING_CATEGORY(lcItemViewDelegateLifecycle, "qt.quick.itemview.lifecycle")
-+Q_LOGGING_CATEGORY(lcCount, "qt.quick.itemview.count")
-
- // Default cacheBuffer for all views.
-@@ -224,5 +225,5 @@
- if (QQmlDelegateModel *dataModel = qobject_cast<QQmlDelegateModel*>(d->model))
- QObjectPrivate::connect(dataModel, &QQmlDelegateModel::delegateChanged, d, &QQuickItemViewPrivate::applyDelegateChange);
-- emit countChanged();
-+ d->emitCountChanged();
- }
- emit modelChanged();
-@@ -256,5 +257,5 @@
- dataModel->setDelegate(delegate);
- if (oldCount != dataModel->count())
-- emit countChanged();
-+ d->emitCountChanged();
- }
- emit delegateChanged();
-@@ -1126,4 +1127,12 @@
- }
-
-+// Simplifies debugging of count.
-+void QQuickItemViewPrivate::emitCountChanged()
-+{
-+ Q_Q(QQuickItemView);
-+ qCDebug(lcCount).nospace() << "about to emit countChanged for " << q << "; count changed to " << q->count();
-+ emit q->countChanged();
-+}
-+
- void QQuickItemViewPrivate::itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change,
- const QRectF &oldGeometry)
-@@ -1225,5 +1234,5 @@
- }
- d->moveReason = QQuickItemViewPrivate::Other;
-- emit countChanged();
-+ d->emitCountChanged();
- #if QT_CONFIG(quick_viewtransitions)
- if (d->transitioner && d->transitioner->populateTransition)
-@@ -1488,5 +1497,5 @@
- }
- if (d->model && d->model->count())
-- emit countChanged();
-+ d->emitCountChanged();
- }
-
-@@ -1814,5 +1823,5 @@
-
- if (prevCount != itemCount)
-- emit q->countChanged();
-+ emitCountChanged();
- } while (currentChanges.hasPendingChanges() || bufferedChanges.hasPendingChanges());
- storeFirstVisibleItemPosition();
-@@ -1865,4 +1874,14 @@
- // views (see tst_QQuickListView::resizeView).
- if ((!isValid() && !visibleItems.size()) || q->size().isNull()) {
-+ if (q->size().isNull() && hasPendingChanges()) {
-+ // count() refers to the number of items in the model, not in the view
-+ // (which is why we don't emit for the !visibleItems.size() case).
-+ // If there are pending model changes, emit countChanged in order to
-+ // support the use case of QTBUG-129165, where visible is bound to count > 0
-+ // and the ListView is in a layout with Layout.preferredHeight bound to
-+ // contentHeight. This ensures that a hidden ListView will become visible.
-+ emitCountChanged();
-+ }
-+
- clear();
- setPosition(contentStartOffset());
-@@ -2139,5 +2158,5 @@
- updateSections();
- if (prevItemCount != itemCount)
-- emit q->countChanged();
-+ emitCountChanged();
- if (!visibleAffected && viewportChanged)
- updateViewport();
---- a/src/quick/items/qquickitemview_p_p.h
-+++ b/src/quick/items/qquickitemview_p_p.h
-@@ -230,4 +230,6 @@
- }
-
-+ void emitCountChanged();
-+
- virtual QQuickItemViewAttached *getAttachedObject(const QObject *) const { return nullptr; }
-
---- a/tests/auto/quick/qquicklistview2/data/visibleBoundToCountGreaterThanZero.qml
-+++ b/tests/auto/quick/qquicklistview2/data/visibleBoundToCountGreaterThanZero.qml
-@@ -0,0 +1,31 @@
-+import QtQuick
-+import QtQuick.Layouts
-+
-+ColumnLayout {
-+ property alias listView: listView
-+
-+ ListView {
-+ id: listView
-+
-+ visible: count > 0 // actual defect. countChanged never fires so this never turns true
-+
-+ Layout.fillWidth: true
-+ Layout.preferredHeight: contentHeight // grow with content, initially 0
-+
-+ model: ListModel {
-+ id: idModel
-+ }
-+
-+ delegate: Text {
-+ required property string name
-+ text: name
-+ }
-+
-+ Timer {
-+ running: true
-+ interval: 10
-+ repeat: true
-+ onTriggered: idModel.append({name:"Hello"})
-+ }
-+ }
-+}
---- a/tests/auto/quick/qquicklistview2/tst_qquicklistview2.cpp
-+++ b/tests/auto/quick/qquicklistview2/tst_qquicklistview2.cpp
-@@ -19,4 +19,6 @@
- using namespace QQuickVisualTestUtils;
-
-+static const int oneSecondInMs = 1000;
-+
- class tst_QQuickListView2 : public QQmlDataTest
- {
-@@ -69,4 +71,5 @@
-
- void clearObjectListModel();
-+ void visibleBoundToCountGreaterThanZero();
-
- private:
-@@ -1313,4 +1316,21 @@
- }
-
-+void tst_QQuickListView2::visibleBoundToCountGreaterThanZero()
-+{
-+ QQuickView window;
-+ QVERIFY(QQuickTest::showView(window, testFileUrl("visibleBoundToCountGreaterThanZero.qml")));
-+
-+ auto *listView = window.rootObject()->property("listView").value<QQuickListView *>();
-+ QVERIFY(listView);
-+
-+ QSignalSpy countChangedSpy(listView, SIGNAL(countChanged()));
-+ QVERIFY(countChangedSpy.isValid());
-+
-+ QTRY_COMPARE_GT_WITH_TIMEOUT(listView->count(), 1, oneSecondInMs);
-+ // Using the TRY variant here as well is necessary.
-+ QTRY_COMPARE_GT_WITH_TIMEOUT(countChangedSpy.count(), 1, oneSecondInMs);
-+ QVERIFY(listView->isVisible());
-+}
-+
- QTEST_MAIN(tst_QQuickListView2)
-
diff --git a/dev-qt/qtdeclarative/files/qtdeclarative-6.7.3-QTBUG-129622.patch b/dev-qt/qtdeclarative/files/qtdeclarative-6.7.3-QTBUG-129622.patch
deleted file mode 100644
index 3e2bc70b5c2c..000000000000
--- a/dev-qt/qtdeclarative/files/qtdeclarative-6.7.3-QTBUG-129622.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-https://bugreports.qt.io/browse/QTBUG-129622
-https://bugs.kde.org/show_bug.cgi?id=493854
-https://codereview.qt-project.org/c/qt/qtdeclarative/+/598853
---- a/src/quick/items/qquickitemview.cpp
-+++ b/src/quick/items/qquickitemview.cpp
-@@ -2481,5 +2481,7 @@
- QQuickItemPrivate::get(item->item)->setCulled(true);
- }
-- if (!isClearing)
-+ // If deleteLater was called, the item isn't long for this world and so we shouldn't store references to it.
-+ // This can happen when a Repeater is used to populate items in SwipeView's ListView contentItem.
-+ if (!isClearing && !QObjectPrivate::get(item->item)->deleteLaterCalled)
- unrequestedItems.insert(item->item, model->indexOf(item->item, q));
- } else if (flags & QQmlInstanceModel::Destroyed) {
---- a/tests/auto/quickcontrols/controls/data/tst_swipeview.qml
-+++ b/tests/auto/quickcontrols/controls/data/tst_swipeview.qml
-@@ -5,4 +5,5 @@
- import QtTest
- import QtQuick.Controls
-+import QtQuick.Layouts
-
- TestCase {
-@@ -761,3 +762,61 @@
- compare(item2.x, swipeListView.width)
- }
-+
-+ Component {
-+ id: zeroSizeSwipeViewWithRepeatersComponent
-+
-+ Item {
-+ objectName: "rootItem"
-+ anchors.fill: parent
-+
-+ property alias swipeView: swipeView
-+ property int d
-+
-+ Timer {
-+ interval: 2
-+ running: true
-+ repeat: false
-+ onTriggered: d = 2
-+ }
-+
-+ SwipeView {
-+ id: swipeView
-+ contentItem.objectName: "swipeViewListView"
-+
-+ Repeater {
-+ objectName: "swipeViewContentItemRepeater"
-+ model: [
-+ {
-+ title: d
-+ }
-+ ]
-+
-+ delegate: GridLayout {
-+ objectName: "gridLayoutDelegate"
-+
-+ Repeater {
-+ id: repeater
-+ objectName: "delegateRepeater"
-+ model: d
-+ delegate: Item {
-+ objectName: "delegate" + index
-+
-+ required property int index
-+ }
-+ }
-+ }
-+ }
-+ }
-+ }
-+ }
-+
-+ // QTBUG-129622
-+ function test_zeroSizeSwipeViewWithRepeaters() {
-+ let root = createTemporaryObject(zeroSizeSwipeViewWithRepeatersComponent, testCase)
-+ verify(root)
-+
-+ let swipeView = root.swipeView
-+ tryCompare(root, "d", 2)
-+ // Shouldn't crash when the model is changed.
-+ }
- }
diff --git a/dev-qt/qtdeclarative/qtdeclarative-6.7.2.ebuild b/dev-qt/qtdeclarative/qtdeclarative-6.7.2.ebuild
deleted file mode 100644
index 05450ab45f3c..000000000000
--- a/dev-qt/qtdeclarative/qtdeclarative-6.7.2.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2021-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-
-# behaves very badly when qtdeclarative is not already installed, also
-# other more minor issues (installs junk, sandbox/offscreen issues)
-QT6_RESTRICT_TESTS=1
-
-inherit python-any-r1 qt6-build
-
-DESCRIPTION="Qt Declarative (Quick 2)"
-
-if [[ ${QT6_BUILD_TYPE} == release ]]; then
- KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86"
-fi
-
-IUSE="accessibility +jit +network opengl qmlls +sql +ssl svg vulkan +widgets"
-
-RDEPEND="
- ~dev-qt/qtbase-${PV}:6[accessibility=,gui,network=,opengl=,sql?,ssl?,vulkan=,widgets=]
- qmlls? ( ~dev-qt/qtlanguageserver-${PV}:6 )
- svg? ( ~dev-qt/qtsvg-${PV}:6 )
-"
-DEPEND="
- ${RDEPEND}
- vulkan? ( dev-util/vulkan-headers )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- ~dev-qt/qtshadertools-${PV}:6
-"
-
-src_configure() {
- local mycmakeargs=(
- $(cmake_use_find_package qmlls Qt6LanguageServerPrivate)
- $(cmake_use_find_package sql Qt6Sql)
- $(cmake_use_find_package svg Qt6Svg)
- $(qt_feature jit qml_jit)
- $(qt_feature network qml_network)
- $(qt_feature ssl qml_ssl)
- )
-
- qt6-build_src_configure
-}
diff --git a/dev-qt/qtdeclarative/qtdeclarative-6.7.3-r4.ebuild b/dev-qt/qtdeclarative/qtdeclarative-6.7.3-r4.ebuild
deleted file mode 100644
index 2678f1b739f3..000000000000
--- a/dev-qt/qtdeclarative/qtdeclarative-6.7.3-r4.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2021-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-
-# behaves very badly when qtdeclarative is not already installed, also
-# other more minor issues (installs junk, sandbox/offscreen issues)
-QT6_RESTRICT_TESTS=1
-
-inherit python-any-r1 qt6-build
-
-DESCRIPTION="Qt Declarative (Quick 2)"
-
-if [[ ${QT6_BUILD_TYPE} == release ]]; then
- KEYWORDS="amd64 arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv x86"
-fi
-
-IUSE="accessibility +jit +network opengl qmlls +sql +ssl svg vulkan +widgets"
-
-RDEPEND="
- ~dev-qt/qtbase-${PV}:6[accessibility=,gui,network=,opengl=,sql?,ssl?,vulkan=,widgets=]
- >=dev-qt/qtbase-${PV}-r2
- qmlls? ( ~dev-qt/qtlanguageserver-${PV}:6 )
- svg? ( ~dev-qt/qtsvg-${PV}:6 )
-"
-DEPEND="
- ${RDEPEND}
- vulkan? ( dev-util/vulkan-headers )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- ~dev-qt/qtshadertools-${PV}:6
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-6.7.3-QTBUG-125053.patch
- "${FILESDIR}"/${PN}-6.7.3-QTBUG-129165.patch
- "${FILESDIR}"/${PN}-6.7.3-QTBUG-129622.patch
-)
-
-src_configure() {
- local mycmakeargs=(
- $(cmake_use_find_package qmlls Qt6LanguageServerPrivate)
- $(cmake_use_find_package sql Qt6Sql)
- $(cmake_use_find_package svg Qt6Svg)
- $(qt_feature jit qml_jit)
- $(qt_feature network qml_network)
- $(qt_feature ssl qml_ssl)
- )
-
- qt6-build_src_configure
-}
-
-src_install() {
- qt6-build_src_install
-
- if [[ ! -e ${D}${QT6_LIBDIR}/libQt6QuickControls2.so.6 ]]; then #940675
- eerror "${CATEGORY}/${PF} seems to have been improperly built and"
- eerror "install was aborted to protect the system. Possibly(?) due"
- eerror "to a rare portage ordering bug. If using portage, try:"
- eerror " emerge -1 qtshadertools:6 qtdeclarative:6"
- eerror "If that did not resolve the issue, please provide build.log"
- eerror "on https://bugs.gentoo.org/940675"
- die "aborting due to incomplete/broken build (see above)"
- fi
-}