From 224930726b6b7ae853b533ad85cdd96180892d61 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sun, 5 Feb 2023 19:14:58 +0100 Subject: Long live QScopedPropertyUpdateGroup A RAII wrapper around Qt::{begin,end}PropertyUpdateGroup(). [ChangeLog][QtCore][QScopedPropertyUpdateGroup] New RAII class wrapping Qt::beginPropertyUpdateGroup() and Qt::endPropertyUpdateGroup(). Fixes: QTBUG-110710 Change-Id: If2619e9584dd9d57985d63e3babca75421499ab9 Reviewed-by: Fabian Kosmale --- src/corelib/itemmodels/qsortfilterproxymodel.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/corelib/itemmodels/qsortfilterproxymodel.cpp') diff --git a/src/corelib/itemmodels/qsortfilterproxymodel.cpp b/src/corelib/itemmodels/qsortfilterproxymodel.cpp index bf1c2dbd97..db1ed95182 100644 --- a/src/corelib/itemmodels/qsortfilterproxymodel.cpp +++ b/src/corelib/itemmodels/qsortfilterproxymodel.cpp @@ -2582,7 +2582,7 @@ QBindable QSortFilterProxyModel::bindableFilterRegularExpres void QSortFilterProxyModel::setFilterRegularExpression(const QRegularExpression ®ularExpression) { Q_D(QSortFilterProxyModel); - Qt::beginPropertyUpdateGroup(); + const QScopedPropertyUpdateGroup guard; const bool regExpChanged = regularExpression != d->filter_regularexpression.value(); d->filter_regularexpression.removeBindingUnlessInWrapper(); d->filter_casesensitive.removeBindingUnlessInWrapper(); @@ -2601,7 +2601,6 @@ void QSortFilterProxyModel::setFilterRegularExpression(const QRegularExpression d->filter_regularexpression.notify(); if (cs != updatedCs) d->filter_casesensitive.notify(); - Qt::endPropertyUpdateGroup(); } /*! @@ -2677,7 +2676,7 @@ void QSortFilterProxyModel::setFilterCaseSensitivity(Qt::CaseSensitivity cs) if (cs == d->filter_casesensitive) return; - Qt::beginPropertyUpdateGroup(); + const QScopedPropertyUpdateGroup guard; QRegularExpression::PatternOptions options = d->filter_regularexpression.value().patternOptions(); options.setFlag(QRegularExpression::CaseInsensitiveOption, cs == Qt::CaseInsensitive); @@ -2690,7 +2689,6 @@ void QSortFilterProxyModel::setFilterCaseSensitivity(Qt::CaseSensitivity cs) d->filter_changed(QSortFilterProxyModelPrivate::Direction::Rows); d->filter_regularexpression.notify(); d->filter_casesensitive.notify(); - Qt::endPropertyUpdateGroup(); } QBindable QSortFilterProxyModel::bindableFilterCaseSensitivity() -- cgit v1.2.3