commit:     f4648ae4668c8d700f207f1fe36c5aca218ebc90
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Oct  8 16:20:28 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Oct  8 17:44:31 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f4648ae4

dev-qt/qtbase: backport fix for QTBUG-125053

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../qtbase/files/qtbase-6.7.3-QTBUG-125053.patch   | 46 ++++++++++++++++++++++
 ...base-6.7.3-r1.ebuild => qtbase-6.7.3-r2.ebuild} |  1 +
 ...{qtbase-6.8.0.ebuild => qtbase-6.8.0-r1.ebuild} |  1 +
 3 files changed, 48 insertions(+)

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
similarity index 99%
rename from dev-qt/qtbase/qtbase-6.7.3-r1.ebuild
rename to 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
similarity index 99%
rename from dev-qt/qtbase/qtbase-6.8.0.ebuild
rename to 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
 )
 

Reply via email to