Raise loopLevel for deleteLater in event filters
Change-Id: Ibd0cd2a2efbcb13a54fe8ba055e7243c0c01b26e Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
This commit is contained in:
parent
8723c2c90d
commit
4ef2988aed
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user