Raise loopLevel for deleteLater in event filters

Change-Id: Ibd0cd2a2efbcb13a54fe8ba055e7243c0c01b26e
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
This commit is contained in:
John Stanley 2012-02-10 16:34:29 -05:00 committed by Qt by Nokia
parent 8723c2c90d
commit 4ef2988aed

View File

@ -413,8 +413,12 @@ QAbstractEventDispatcher::EventFilter QAbstractEventDispatcher::setEventFilter(E
bool QAbstractEventDispatcher::filterEvent(void *message)
{
Q_D(QAbstractEventDispatcher);
if (d->event_filter)
if (d->event_filter) {
// Raise the loopLevel so that deleteLater() calls in or triggered
// by event_filter() will be processed from the main event loop.
QScopedLoopLevelCounter loopLevelCounter(d->threadData);
return d->event_filter(message);
}
return false;
}