summaryrefslogtreecommitdiff
path: root/dev-qt
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2024-10-08 12:20:28 -0400
committerIonen Wolkens <ionen@gentoo.org>2024-10-08 13:44:31 -0400
commitf4648ae4668c8d700f207f1fe36c5aca218ebc90 (patch)
tree922b50281703f6829bc366378a9f16d8a3a3c515 /dev-qt
parentsys-libs/tevent: Stabilize 0.16.1 ppc64, #941101 (diff)
downloadgentoo-f4648ae4668c8d700f207f1fe36c5aca218ebc90.tar.gz
gentoo-f4648ae4668c8d700f207f1fe36c5aca218ebc90.tar.bz2
gentoo-f4648ae4668c8d700f207f1fe36c5aca218ebc90.zip
dev-qt/qtbase: backport fix for QTBUG-125053
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'dev-qt')
-rw-r--r--dev-qt/qtbase/files/qtbase-6.7.3-QTBUG-125053.patch46
-rw-r--r--dev-qt/qtbase/qtbase-6.7.3-r2.ebuild (renamed from dev-qt/qtbase/qtbase-6.7.3-r1.ebuild)1
-rw-r--r--dev-qt/qtbase/qtbase-6.8.0-r1.ebuild (renamed from dev-qt/qtbase/qtbase-6.8.0.ebuild)1
3 files changed, 48 insertions, 0 deletions
diff --git a/dev-qt/qtbase/files/qtbase-6.7.3-QTBUG-125053.patch b/dev-qt/qtbase/files/qtbase-6.7.3-QTBUG-125053.patch
new file mode 100644
index 000000000000..fc60e30b62c1
--- /dev/null
+++ b/dev-qt/qtbase/files/qtbase-6.7.3-QTBUG-125053.patch
@@ -0,0 +1,46 @@
+https://bugreports.qt.io/browse/QTBUG-125053
+https://bugreports.qt.io/browse/QTBUG-127340
+https://codereview.qt-project.org/c/qt/qtbase/+/593123
+--- a/src/corelib/itemmodels/qabstractitemmodel.cpp
++++ b/src/corelib/itemmodels/qabstractitemmodel.cpp
+@@ -3396,4 +3396,11 @@
+ void QAbstractItemModel::beginResetModel()
+ {
++ Q_D(QAbstractItemModel);
++ if (d->resetting) {
++ qWarning() << "beginResetModel called on" << this << "without calling endResetModel first";
++ // Warn, but don't return early in case user code relies on the incorrect behavior.
++ }
++
++ d->resetting = true;
+ emit modelAboutToBeReset(QPrivateSignal());
+ }
+@@ -3413,6 +3420,12 @@
+ {
+ Q_D(QAbstractItemModel);
++ if (!d->resetting) {
++ qWarning() << "endResetModel called on" << this << "without calling beginResetModel first";
++ // Warn, but don't return early in case user code relies on the incorrect behavior.
++ }
++
+ d->invalidatePersistentIndexes();
+ resetInternalData();
++ d->resetting = false;
+ emit modelReset(QPrivateSignal());
+ }
+--- a/src/corelib/itemmodels/qabstractitemmodel_p.h
++++ b/src/corelib/itemmodels/qabstractitemmodel_p.h
+@@ -46,4 +46,6 @@
+ ~QAbstractItemModelPrivate();
+
++ static const QAbstractItemModelPrivate *get(const QAbstractItemModel *model) { return model->d_func(); }
++
+ void removePersistentIndexData(QPersistentModelIndexData *data);
+ void movePersistentIndexes(const QList<QPersistentModelIndexData *> &indexes, int change, const QModelIndex &parent,
+@@ -116,4 +118,6 @@
+ } persistent;
+
++ bool resetting = false;
++
+ static const QHash<int,QByteArray> &defaultRoleNames();
+ static bool isVariantLessThan(const QVariant &left, const QVariant &right,
diff --git a/dev-qt/qtbase/qtbase-6.7.3-r1.ebuild b/dev-qt/qtbase/qtbase-6.7.3-r2.ebuild
index 07859a84c2e5..0769e8d8b6ed 100644
--- a/dev-qt/qtbase/qtbase-6.7.3-r1.ebuild
+++ b/dev-qt/qtbase/qtbase-6.7.3-r2.ebuild
@@ -148,6 +148,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-6.7.2-qcontiguouscache.patch
"${FILESDIR}"/${PN}-6.7.2-haswell-no-rdrnd.patch
"${FILESDIR}"/${PN}-6.7.3-erratic-mouse-input.patch
+ "${FILESDIR}"/${PN}-6.7.3-QTBUG-125053.patch
)
src_prepare() {
diff --git a/dev-qt/qtbase/qtbase-6.8.0.ebuild b/dev-qt/qtbase/qtbase-6.8.0-r1.ebuild
index 2815b4c801fc..0a2a4876ffe6 100644
--- a/dev-qt/qtbase/qtbase-6.8.0.ebuild
+++ b/dev-qt/qtbase/qtbase-6.8.0-r1.ebuild
@@ -146,6 +146,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-6.6.1-forkfd-childstack-size.patch
"${FILESDIR}"/${PN}-6.6.3-gcc14-avx512fp16.patch
"${FILESDIR}"/${PN}-6.7.2-haswell-no-rdrnd.patch
+ "${FILESDIR}"/${PN}-6.7.3-QTBUG-125053.patch
"${FILESDIR}"/${PN}-6.8.0-qcontiguouscache.patch
)