diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
index 3814894630..5258e54b5e 100644
--- a/src/corelib/kernel/qcoreapplication.cpp
+++ b/src/corelib/kernel/qcoreapplication.cpp
@@ -1026,6 +1026,7 @@ bool QCoreApplication::notifyInternal(QObject *receiver, QEvent *event)
 */
 bool QCoreApplication::notifyInternal2(QObject *receiver, QEvent *event)
 {
+    qDebug() << __FUNCTION__<< receiver << event;
     bool selfRequired = QCoreApplicationPrivate::threadRequiresCoreApplication();
     if (!self && selfRequired)
         return false;
@@ -1164,19 +1165,32 @@ bool QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject *receiv
 
 bool QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject *receiver, QEvent *event)
 {
+    if (event->type()  == QEvent::Wheel)
+        qDebug() << __FUNCTION__ << "receiver=" << receiver << event;
     if (receiver != QCoreApplication::instance() && receiver->d_func()->extraData) {
-        for (int i = 0; i < receiver->d_func()->extraData->eventFilters.size(); ++i) {
+        int s = receiver->d_func()->extraData->eventFilters.size();
+        for (int i = 0; i < s; ++i) {
             QObject *obj = receiver->d_func()->extraData->eventFilters.at(i);
             if (!obj)
                 continue;
+            if (event->type()  == QEvent::Wheel)
+                qDebug() << __FUNCTION__ << '#' << i << '/' << s << obj << obj->objectName();
             if (obj->d_func()->threadData != receiver->d_func()->threadData) {
                 qWarning("QCoreApplication: Object event filter cannot be in a different thread.");
                 continue;
             }
-            if (obj->eventFilter(receiver, event))
+            bool r = obj->eventFilter(receiver, event);
+            if (event->type()  == QEvent::Wheel)
+                qDebug() << __FUNCTION__ << '#' << i << '/' << s << obj << "rets" << r;
+            if (r) {
+                if (event->type()  == QEvent::Wheel)
+                    qDebug() << __FUNCTION__ << "receiver=" << receiver << "true";
                 return true;
+            }
         }
     }
+    if (event->type()  == QEvent::Wheel)
+        qDebug() << __FUNCTION__ << "receiver=" << receiver << "false";
     return false;
 }
 
diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp
index 0a12d1f6cf..2c69a59bb9 100644
--- a/src/widgets/kernel/qapplication.cpp
+++ b/src/widgets/kernel/qapplication.cpp
@@ -3246,6 +3246,7 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
     case QEvent::Wheel:
         {
             QWidget* w = static_cast<QWidget *>(receiver);
+            qDebug() << __FUNCTION__<< '>' << receiver << e;
 
             // QTBUG-40656, QTBUG-42731: ignore wheel events when a popup (QComboBox) is open.
             if (const QWidget *popup = QApplication::activePopupWidget()) {
@@ -3297,8 +3298,10 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
                 do {
                     we.spont = spontaneous && w == receiver;
                     we.ignore();
-                    res = d->notify_helper(w, &we);
+                    qDebug() << __FUNCTION__ << "looping" << w;
+                    res = d->notify_helper(w, &we);                    
                     eventAccepted = we.isAccepted();
+                    qDebug() << __FUNCTION__ << "looped" << res << "eventAccepted=" << eventAccepted;
                     if (res && eventAccepted) {
                         // A new scrolling sequence or partial sequence starts and w has accepted
                         // the event. Therefore, we can set wheel_widget, but only if it's not
@@ -3337,6 +3340,7 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
                     QApplicationPrivate::wheel_widget = Q_NULLPTR;
             }
         }
+        qDebug() << __FUNCTION__<< '<' << receiver << e;
         break;
 #endif
 #ifndef QT_NO_CONTEXTMENU
diff --git a/src/widgets/kernel/qwidgetwindow.cpp b/src/widgets/kernel/qwidgetwindow.cpp
index 34b12a74b2..3a9dae2bca 100644
--- a/src/widgets/kernel/qwidgetwindow.cpp
+++ b/src/widgets/kernel/qwidgetwindow.cpp
@@ -820,6 +820,7 @@ void QWidgetWindow::handleCloseEvent(QCloseEvent *event)
 
 void QWidgetWindow::handleWheelEvent(QWheelEvent *event)
 {
+    qDebug() << __FUNCTION__ << '>' << event;
     if (QApplicationPrivate::instance()->modalState() && !qt_try_modal(m_widget, event->type()))
         return;
 
@@ -843,7 +844,9 @@ void QWidgetWindow::handleWheelEvent(QWheelEvent *event)
     QPoint mapped = widget->mapFrom(rootWidget, pos);
 
     QWheelEvent translated(mapped, event->globalPos(), event->pixelDelta(), event->angleDelta(), event->delta(), event->orientation(), event->buttons(), event->modifiers(), event->phase(), event->source(), event->inverted());
+    qDebug() << __FUNCTION__ << "translated forwardEvent() to " << widget;
     QGuiApplication::forwardEvent(widget, &translated, event);
+    qDebug() << __FUNCTION__ << '<' << event;
 }
 
 #endif // QT_CONFIG(wheelevent)
