diff --git a/src/quick/items/qquickdrag.cpp b/src/quick/items/qquickdrag.cpp
index 4d46485..745f61a 100644
--- a/src/quick/items/qquickdrag.cpp
+++ b/src/quick/items/qquickdrag.cpp
@@ -137,8 +137,9 @@ public:
 
 */
 
-void QQuickDragAttachedPrivate::itemGeometryChanged(QQuickItem *, const QRectF &newGeometry, const QRectF &oldGeometry)
+void QQuickDragAttachedPrivate::itemGeometryChanged(QQuickItem *i, const QRectF &newGeometry, const QRectF &oldGeometry)
 {
+    qDebug() << __FUNCTION__ << i << newGeometry;
     if (newGeometry.topLeft() == oldGeometry.topLeft() || !active || itemMoved)
         return;
     updatePosition();
@@ -161,6 +162,7 @@ void QQuickDragAttachedPrivate::updatePosition()
 {
     Q_Q(QQuickDragAttached);
     itemMoved = true;
+        qDebug() << __FUNCTION__;
     if (!eventQueued) {
         eventQueued = true;
         QCoreApplication::postEvent(q, new QEvent(QEvent::User));
@@ -175,6 +177,7 @@ void QQuickDragAttachedPrivate::restartDrag()
         eventQueued = true;
         QCoreApplication::postEvent(q, new QEvent(QEvent::User));
     }
+    qDebug() << __FUNCTION__;
 }
 
 void QQuickDragAttachedPrivate::deliverEnterEvent()
@@ -236,6 +239,7 @@ bool QQuickDragAttached::event(QEvent *event)
     Q_D(QQuickDragAttached);
 
     if (event->type() == QEvent::User) {
+        qDebug() << __FUNCTION__ <<"user";
         d->eventQueued = false;
         if (d->dragRestarted) {
             d->deliverLeaveEvent();
@@ -246,6 +250,7 @@ bool QQuickDragAttached::event(QEvent *event)
                 emit targetChanged();
             }
         } else if (d->itemMoved) {
+            qDebug() << __FUNCTION__ <<"moved";
             d->deliverMoveEvent();
         }
         return true;
@@ -264,6 +269,7 @@ QQuickDragAttached::QQuickDragAttached(QObject *parent)
 
 QQuickDragAttached::~QQuickDragAttached()
 {
+    qDebug() << __FUNCTION__;
     Q_D(QQuickDragAttached);
     delete d->mimeData;
 }
@@ -541,6 +547,7 @@ void QQuickDragAttachedPrivate::start(Qt::DropActions supportedActions)
 {
     Q_Q(QQuickDragAttached);
     Q_ASSERT(!active);
+    qDebug() << "QQuickDragAttachedPrivate::start" << supportedActions;
 
     if (!mimeData)
         mimeData = new QQuickDragMimeData;
@@ -621,6 +628,7 @@ void QQuickDragAttached::start(QQmlV4Function *args)
 
 int QQuickDragAttached::drop()
 {
+    qDebug() << "QQuickDragAttachedPrivate::drop";
     Q_D(QQuickDragAttached);
     Qt::DropAction acceptedAction = Qt::IgnoreAction;
 
@@ -669,6 +677,7 @@ int QQuickDragAttached::drop()
 
 void QQuickDragAttached::cancel()
 {
+    qDebug() << "QQuickDragAttached::cancel";
     Q_D(QQuickDragAttached);
 
     if (d->inEvent) {
@@ -709,6 +718,7 @@ void QQuickDragAttached::cancel()
 
 Qt::DropAction QQuickDragAttachedPrivate::startDrag(Qt::DropActions supportedActions)
 {
+    qDebug() << "QQuickDragAttachedPrivate::startDrag";
     Q_Q(QQuickDragAttached);
 
     QDrag *drag = new QDrag(q);
@@ -724,11 +734,13 @@ Qt::DropAction QQuickDragAttachedPrivate::startDrag(Qt::DropActions supportedAct
     // drag->setPixmap(iconPixmap);
 
     emit q->dragStarted();
+    qDebug() << "QQuickDragAttachedPrivate::startDrag: >drag->exec";
 
     Qt::DropAction dropAction = drag->exec(supportedActions);
 
     if (!QGuiApplicationPrivate::platformIntegration()->drag()->ownsDragObject())
         drag->deleteLater();
+    qDebug() << "QQuickDragAttachedPrivate::startDrag: <drag->exec returns " << dropAction;
 
     deliverLeaveEvent();
 
diff --git a/src/quick/items/qquickmousearea.cpp b/src/quick/items/qquickmousearea.cpp
index 4a44760..1958303 100644
--- a/src/quick/items/qquickmousearea.cpp
+++ b/src/quick/items/qquickmousearea.cpp
@@ -765,6 +765,7 @@ void QQuickMouseArea::mouseMoveEvent(QMouseEvent *event)
 
 void QQuickMouseArea::mouseReleaseEvent(QMouseEvent *event)
 {
+    qDebug() << "QQuickMouseArea::mouseReleaseEvent" << event;
     Q_D(QQuickMouseArea);
     d->stealMouse = false;
     if (!d->enabled && !d->pressed) {
@@ -775,6 +776,7 @@ void QQuickMouseArea::mouseReleaseEvent(QMouseEvent *event)
         if (!d->pressed) {
             // no other buttons are pressed
 #ifndef QT_NO_DRAGANDDROP
+            qDebug() << "Deactivating Drag";
             if (d->drag)
                 d->drag->setActive(false);
 #endif
diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp
index 4238787..c90f6d1 100644
--- a/src/quick/items/qquickwindow.cpp
+++ b/src/quick/items/qquickwindow.cpp
@@ -2201,6 +2201,7 @@ QTouchEvent *QQuickWindowPrivate::touchEventWithPoints(const QTouchEvent &event,
 #ifndef QT_NO_DRAGANDDROP
 void QQuickWindowPrivate::deliverDragEvent(QQuickDragGrabber *grabber, QEvent *event)
 {
+    qDebug() << __FUNCTION__ << grabber << event;
     Q_Q(QQuickWindow);
     grabber->resetTarget();
     QQuickDragGrabber::iterator grabItem = grabber->begin();
diff --git a/tools/qmlscene/main.cpp b/tools/qmlscene/main.cpp
index fe01b92..3cf4590 100644
--- a/tools/qmlscene/main.cpp
+++ b/tools/qmlscene/main.cpp
@@ -53,6 +53,7 @@
 #include <private/qabstractanimation_p.h>
 #include <private/qopenglcontext_p.h>
 
+
 #ifdef QT_WIDGETS_LIB
 #include <QtWidgets/QApplication>
 #include <QtWidgets/QFileDialog>
@@ -61,6 +62,9 @@
 #include <QtCore/QTranslator>
 #include <QtCore/QLibraryInfo>
 
+//diaglib
+#include <eventfilter.h>
+
 #ifdef QML_RUNTIME_TESTING
 class RenderStatistics
 {
@@ -480,6 +484,11 @@ int main(int argc, char ** argv)
     app.setOrganizationName("QtProject");
     app.setOrganizationDomain("qt-project.org");
 
+    QtDiag::EventFilter::EventCategories cats =
+            QtDiag::EventFilter::DragAndDropEvents |QtDiag::EventFilter::FocusEvents
+            | QtDiag::EventFilter::MouseEvents|QtDiag::EventFilter::MouseMoveEvents;
+    app.installEventFilter(new QtDiag::EventFilter(cats, &app));
+
 #ifndef QT_NO_TRANSLATION
     QTranslator translator;
     QTranslator qtTranslator;
diff --git a/tools/qmlscene/qmlscene.pro b/tools/qmlscene/qmlscene.pro
index 0411fd8..a6e2011 100644
--- a/tools/qmlscene/qmlscene.pro
+++ b/tools/qmlscene/qmlscene.pro
@@ -1,5 +1,6 @@
 QT += qml quick quick-private gui-private core-private
 qtHaveModule(widgets): QT += widgets
+include(../../../qtbase/tests/manual/diaglib/diaglib.pri)
 CONFIG += no_import_scan
 
 SOURCES += main.cpp
