diff options
-rw-r--r-- | dev-qt/qtbase/files/qtbase-6.7.3-QTBUG-125053.patch | 46 | ||||
-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() { |