QObject: Optimize removeEventFilter
We can't have duplicated filters installed, so break the loop when removing event filter after we have found the matching one. Change-Id: Idda87f3090954e020b27bf3fab62677128607f03 Reviewed-by: Marc Mutz <marc.mutz@qt.io> (cherry picked from commit b909b8dfe808ed6bbb9f4353729c8810ee0e95c7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
af9b70c5ed
commit
a16964e471
@ -2374,9 +2374,11 @@ void QObject::removeEventFilter(QObject *obj)
|
||||
{
|
||||
Q_D(QObject);
|
||||
if (d->extraData) {
|
||||
for (int i = 0; i < d->extraData->eventFilters.size(); ++i) {
|
||||
if (d->extraData->eventFilters.at(i) == obj)
|
||||
d->extraData->eventFilters[i] = nullptr;
|
||||
for (auto &filter : d->extraData->eventFilters) {
|
||||
if (filter == obj) {
|
||||
filter = nullptr;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user