summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qcoreapplication.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/kernel/qcoreapplication.cpp')
-rw-r--r--src/corelib/kernel/qcoreapplication.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
index 9f6f2b798e..d67c820bb3 100644
--- a/src/corelib/kernel/qcoreapplication.cpp
+++ b/src/corelib/kernel/qcoreapplication.cpp
@@ -789,10 +789,10 @@ bool QCoreApplication::notify(QObject *receiver, QEvent *event)
bool QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject *receiver, QEvent *event)
{
- if (receiver->d_func()->threadData == this->threadData) {
+ if (receiver->d_func()->threadData == this->threadData && extraData) {
// application event filters are only called for objects in the GUI thread
- for (int i = 0; i < eventFilters.size(); ++i) {
- register QObject *obj = eventFilters.at(i);
+ for (int i = 0; i < extraData->eventFilters.size(); ++i) {
+ register QObject *obj = extraData->eventFilters.at(i);
if (!obj)
continue;
if (obj->d_func()->threadData != threadData) {
@@ -809,9 +809,9 @@ bool QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject *receiv
bool QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject *receiver, QEvent *event)
{
Q_Q(QCoreApplication);
- if (receiver != q) {
- for (int i = 0; i < receiver->d_func()->eventFilters.size(); ++i) {
- register QObject *obj = receiver->d_func()->eventFilters.at(i);
+ if (receiver != q && receiver->d_func()->extraData) {
+ for (int i = 0; i < receiver->d_func()->extraData->eventFilters.size(); ++i) {
+ register QObject *obj = receiver->d_func()->extraData->eventFilters.at(i);
if (!obj)
continue;
if (obj->d_func()->threadData != receiver->d_func()->threadData) {