aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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
2 files changed, 47 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 0000000..fc60e30
--- /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 660c9cf..1c3de53 100644
--- a/dev-qt/qtbase/qtbase-6.7.3-r1.ebuild
+++ b/dev-qt/qtbase/qtbase-6.7.3-r2.ebuild
@@ -149,6 +149,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() {