diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp
index b71a0c54aa..c4d0a2e015 100644
--- a/src/gui/kernel/qwindow.cpp
+++ b/src/gui/kernel/qwindow.cpp
@@ -159,6 +159,7 @@ QWindow::QWindow(QScreen *targetScreen)
     : QObject(*new QWindowPrivate(), 0)
     , QSurface(QSurface::Window)
 {
+    qDebug() << __FUNCTION__ << this;
     Q_D(QWindow);
     d->init(targetScreen);
 }
@@ -186,6 +187,7 @@ static QWindow *nonDesktopParent(QWindow *parent)
 QWindow::QWindow(QWindow *parent)
     : QWindow(*new QWindowPrivate(), parent)
 {
+    qDebug() << __FUNCTION__ << this << "parent=" << parent;
 }
 
 /*!
@@ -512,11 +514,14 @@ void QWindowPrivate::setTopLevelScreen(QScreen *newScreen, bool recreate)
 void QWindowPrivate::create(bool recursive, WId nativeHandle)
 {
     Q_Q(QWindow);
+    qDebug() << __FUNCTION__ << '>' << q << recursive;
     if (platformWindow)
         return;
 
-    if (q->parent())
+    if (q->parent()) {
+        qDebug() << __FUNCTION__ << q << "Calling create on parent" << q->parent();
         q->parent()->create();
+    }
 
     QPlatformIntegration *platformIntegration = QGuiApplicationPrivate::platformIntegration();
     platformWindow = nativeHandle ? platformIntegration->createForeignWindow(q, nativeHandle)
@@ -528,7 +533,9 @@ void QWindowPrivate::create(bool recursive, WId nativeHandle)
         return;
     }
 
+    qDebug() << __FUNCTION__ << q << ">Calling platformWindow->initialize()";
     platformWindow->initialize();
+    qDebug() << __FUNCTION__ << q << "<Called platformWindow->initialize()";
 
     QObjectList childObjects = q->children();
     for (int i = 0; i < childObjects.size(); i ++) {
@@ -537,8 +544,10 @@ void QWindowPrivate::create(bool recursive, WId nativeHandle)
             continue;
 
         QWindow *childWindow = static_cast<QWindow *>(object);
-        if (recursive)
+        if (recursive) {
+            qDebug() << __FUNCTION__ << q << "Calling create on child" << childWindow;
             childWindow->d_func()->create(recursive);
+        }
 
         // The child may have had deferred creation due to this window not being created
         // at the time setVisible was called, so we re-apply the visible state, which
@@ -555,6 +564,7 @@ void QWindowPrivate::create(bool recursive, WId nativeHandle)
 
     if (updateRequestPending)
         platformWindow->requestUpdate();
+    qDebug() << __FUNCTION__ << '<' << q;
 }
 
 void QWindowPrivate::clearFocusObject()
@@ -642,6 +652,7 @@ bool QWindow::isVisible() const
 void QWindow::create()
 {
     Q_D(QWindow);
+    qDebug() << __FUNCTION__ << this;
     d->create(false);
 }
 
diff --git a/src/plugins/platforms/windows/qwindowscontext.cpp b/src/plugins/platforms/windows/qwindowscontext.cpp
index bb349f08a7..6ff9b36b7f 100644
--- a/src/plugins/platforms/windows/qwindowscontext.cpp
+++ b/src/plugins/platforms/windows/qwindowscontext.cpp
@@ -447,6 +447,7 @@ QList<int> QWindowsContext::possibleKeys(const QKeyEvent *e) const
 
 QSharedPointer<QWindowCreationContext> QWindowsContext::setWindowCreationContext(const QSharedPointer<QWindowCreationContext> &ctx)
 {
+    qDebug() << __FUNCTION__ << ctx.data();
     const QSharedPointer<QWindowCreationContext> old = d->m_creationContext;
     d->m_creationContext = ctx;
     return old;
diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp
index 5539a6903c..f19bdea446 100644
--- a/src/plugins/platforms/windows/qwindowswindow.cpp
+++ b/src/plugins/platforms/windows/qwindowswindow.cpp
@@ -776,7 +776,7 @@ QWindowsWindowData
     QMargins invMargins = topLevel && hasFrame && QWindowsGeometryHint::positionIncludesFrame(w)
             ? invisibleMargins(QPoint(context->frameX, context->frameY)) : QMargins();
 
-    qCDebug(lcQpaWindows).nospace()
+    qDebug().nospace()
         << "CreateWindowEx: " << w << " class=" << windowClassName << " title=" << title
         << '\n' << *this << "\nrequested: " << rect << ": "
         << context->frameWidth << 'x' <<  context->frameHeight
@@ -802,7 +802,7 @@ QWindowsWindowData
                                  pos.x(), pos.y(),
                                  context->frameWidth, context->frameHeight,
                                  parentHandle, nullptr, appinst, nullptr);
-    qCDebug(lcQpaWindows).nospace()
+    qDebug().nospace()
         << "CreateWindowEx: returns " << w << ' ' << result.hwnd << " obtained geometry: "
         << context->obtainedPos << context->obtainedSize << ' ' << context->margins;
 
@@ -1352,10 +1352,13 @@ QWindowsWindow::~QWindowsWindow()
 void QWindowsWindow::initialize()
 {
     // Clear the creation context as the window can be found in QWindowsContext's map.
+    QWindow *w = window();
+    qDebug() << __FUNCTION__ << ">clearing" << w;
     QWindowCreationContextPtr creationContext =
         QWindowsContext::instance()->setWindowCreationContext(QWindowCreationContextPtr());
+    qDebug() << __FUNCTION__ << "old context returned" << creationContext.data();
+
 
-    QWindow *w = window();
     setWindowState(w->windowStates());
 
     // Trigger geometry change (unless it has a special state in which case setWindowState()
@@ -1371,6 +1374,7 @@ void QWindowsWindow::initialize()
         if (obtainedScreen && screen() != obtainedScreen)
             QWindowSystemInterface::handleWindowScreenChanged<QWindowSystemInterface::SynchronousDelivery>(w, obtainedScreen->screen());
     }
+    qDebug() << __FUNCTION__ << '<' << w;
 }
 
 void QWindowsWindow::fireExpose(const QRegion &region, bool force)
@@ -1522,11 +1526,13 @@ QWindowsWindowData
                                        const QWindowsWindowData &parameters,
                                        const QString &title)
 {
+    qDebug() << __FUNCTION__ << '>' << w;
     WindowCreationData creationData;
     creationData.fromWindow(w, parameters.flags);
     QWindowsWindowData result = creationData.create(w, parameters, title);
     // Force WM_NCCALCSIZE (with wParam=1) via SWP_FRAMECHANGED for custom margin.
     creationData.initialize(w, result.hwnd, !parameters.customMargins.isNull(), 1);
+    qDebug() << __FUNCTION__ << '<' << w;
     return result;
 }
 
diff --git a/src/widgets/dialogs/qwizard.cpp b/src/widgets/dialogs/qwizard.cpp
index 7558054da5..a1c2907557 100644
--- a/src/widgets/dialogs/qwizard.cpp
+++ b/src/widgets/dialogs/qwizard.cpp
@@ -45,6 +45,7 @@
 #endif
 #include "qalgorithms.h"
 #include "qapplication.h"
+#include "qcoreapplication.h"
 #include "qboxlayout.h"
 #include "qlayoutitem.h"
 #include "qdesktopwidget.h"
@@ -534,7 +535,11 @@ public:
     QWizardPrivate *wizardPrivate;
     QWizardAntiFlickerWidget(QWizard *wizard, QWizardPrivate *wizardPrivate)
         : QWidget(wizard)
-        , wizardPrivate(wizardPrivate) {}
+        , wizardPrivate(wizardPrivate)
+    {
+        setObjectName(QLatin1String("WizardAntiFlickerWidget"));
+        qDebug() << __FUNCTION__  << this;
+    }
 protected:
     void paintEvent(QPaintEvent *);
 #else
@@ -1664,6 +1669,7 @@ void QWizardPrivate::enableUpdates()
 {
     Q_Q(QWizard);
     if (--disableUpdatesCount == 0) {
+        qDebug() << __FUNCTION__ << "forcing antiFlickerWidget";
         antiFlickerWidget->show();
         q->setUpdatesEnabled(true);
     }
@@ -2553,6 +2559,7 @@ QVariant QWizard::field(const QString &name) const
 */
 void QWizard::setWizardStyle(WizardStyle style)
 {
+    qDebug() << __FUNCTION__ << style;
     Q_D(QWizard);
 
     const bool styleChange = style != d->wizStyle;
@@ -3269,6 +3276,7 @@ bool QWizard::nativeEvent(const QByteArray &eventType, void *message, long *resu
     Q_D(QWizard);
     if (d->isVistaThemeEnabled() && eventType == "windows_generic_MSG") {
         MSG *windowsMessage = static_cast<MSG *>(message);
+        qDebug() << __FUNCTION__ << *windowsMessage;
         const bool winEventResult = d->vistaHelper->handleWinEvent(windowsMessage, result);
         if (QVistaHelper::vistaState() != d->vistaState) {
             d->vistaState = QVistaHelper::vistaState();
diff --git a/src/widgets/dialogs/qwizard_win.cpp b/src/widgets/dialogs/qwizard_win.cpp
index 47ac41a791..341a53f610 100644
--- a/src/widgets/dialogs/qwizard_win.cpp
+++ b/src/widgets/dialogs/qwizard_win.cpp
@@ -82,6 +82,8 @@ QVistaBackButton::QVistaBackButton(QWidget *widget)
 #if QT_CONFIG(shortcut)
     setShortcut(QKeySequence(Qt::ALT | Qt::Key_Left));
 #endif
+    qDebug() << __FUNCTION__ << this;
+    setObjectName("VistaBB");
 }
 
 QSize QVistaBackButton::sizeHint() const
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
index cf5a81c204..d828ae091f 100644
--- a/src/widgets/kernel/qwidget.cpp
+++ b/src/widgets/kernel/qwidget.cpp
@@ -892,6 +892,7 @@ struct QWidgetExceptionCleaner
 QWidget::QWidget(QWidget *parent, Qt::WindowFlags f)
     : QObject(*new QWidgetPrivate, 0), QPaintDevice()
 {
+    qDebug() << __FUNCTION__ << "this=" << this << "parent=" << parent;
     QT_TRY {
         d_func()->init(parent, f);
     } QT_CATCH(...) {
@@ -1133,12 +1134,17 @@ void QWidget::create(WId window, bool initializeWindow, bool destroyOldWindow)
 {
     Q_UNUSED(initializeWindow);
     Q_UNUSED(destroyOldWindow);
+    qDebug() << __FUNCTION__ << '>' << this;
+//    if (objectName().contains(QLatin1String("AntiFli")))
+//        qFatal("Anti!!");
 
     Q_D(QWidget);
     if (Q_UNLIKELY(window))
         qWarning("QWidget::create(): Parameter 'window' does not have any effect.");
-    if (testAttribute(Qt::WA_WState_Created) && window == 0 && internalWinId())
+    if (testAttribute(Qt::WA_WState_Created) && window == 0 && internalWinId()) {
+        qDebug() << __FUNCTION__ << '<' << "r1" << this;
         return;
+    }
 
     if (d->data.in_destructor)
         return;
@@ -1153,10 +1159,12 @@ void QWidget::create(WId window, bool initializeWindow, bool destroyOldWindow)
 
     if (QWidget *parent = parentWidget()) {
         if (type & Qt::Window) {
+            qDebug() << __FUNCTION__ << "recurse to parent/native child widget that doesn't have a native parent top level";
             if (!parent->testAttribute(Qt::WA_WState_Created))
                 parent->createWinId();
         } else if (testAttribute(Qt::WA_NativeWindow) && !parent->internalWinId()
                    && !testAttribute(Qt::WA_DontCreateNativeAncestors)) {
+            qDebug() << __FUNCTION__ << "native child widget that doesn't have a native parent";
             // We're about to create a native child widget that doesn't have a native parent;
             // enforce a native handle for the parent unless the Qt::WA_DontCreateNativeAncestors
             // attribute is set.
@@ -1164,6 +1172,7 @@ void QWidget::create(WId window, bool initializeWindow, bool destroyOldWindow)
             // Nothing more to do.
             Q_ASSERT(testAttribute(Qt::WA_WState_Created));
             Q_ASSERT(internalWinId());
+            qDebug() << __FUNCTION__ << '<' << "r2" << this;
             return;
         }
     }
@@ -1218,6 +1227,7 @@ void QWidget::create(WId window, bool initializeWindow, bool destroyOldWindow)
     // will cause window frame to be ignored when positioning the window.
     // Note that this only helps on platforms that handle window creation synchronously.
     d->updateFrameStrut();
+    qDebug() << __FUNCTION__ << '<' << this;
 }
 
 void q_createNativeChildrenAndSetParent(const QWidget *parentWidget)
@@ -1228,6 +1238,7 @@ void q_createNativeChildrenAndSetParent(const QWidget *parentWidget)
             const QWidget *childWidget = qobject_cast<const QWidget *>(children.at(i));
             if (childWidget) { // should not be necessary
                 if (childWidget->testAttribute(Qt::WA_NativeWindow)) {
+                    qDebug() << __FUNCTION__ << childWidget;
                     if (!childWidget->internalWinId())
                         childWidget->winId();
                     if (childWidget->windowHandle()) {
@@ -2351,9 +2362,7 @@ QWidget *QWidget::find(WId id)
 WId QWidget::winId() const
 {
     if (!testAttribute(Qt::WA_WState_Created) || !internalWinId()) {
-#ifdef ALIEN_DEBUG
-        qDebug() << "QWidget::winId: creating native window for" << this;
-#endif
+        qDebug() << __FUNCTION__ << "QWidget::winId: creating native window for" << this;
         QWidget *that = const_cast<QWidget*>(this);
         that->setAttribute(Qt::WA_NativeWindow);
         that->d_func()->createWinId();
@@ -2366,9 +2375,7 @@ void QWidgetPrivate::createWinId()
 {
     Q_Q(QWidget);
 
-#ifdef ALIEN_DEBUG
     qDebug() << "QWidgetPrivate::createWinId for" << q;
-#endif
     const bool forceNativeWindow = q->testAttribute(Qt::WA_NativeWindow);
     if (!q->testAttribute(Qt::WA_WState_Created) || (forceNativeWindow && !q->internalWinId())) {
         if (!q->isWindow()) {
@@ -2440,9 +2447,7 @@ Ensures that the widget has a window system identifier, i.e. that it is known to
 void QWidget::createWinId()
 {
     Q_D(QWidget);
-#ifdef ALIEN_DEBUG
     qDebug()  << "QWidget::createWinId" << this;
-#endif
 //    qWarning("QWidget::createWinId is obsolete, please fix your code.");
     d->createWinId();
 }
diff --git a/src/widgets/kernel/qwidgetwindow.cpp b/src/widgets/kernel/qwidgetwindow.cpp
index b9a67edc6a..0a50631958 100644
--- a/src/widgets/kernel/qwidgetwindow.cpp
+++ b/src/widgets/kernel/qwidgetwindow.cpp
@@ -151,7 +151,9 @@ QWidgetWindow::QWidgetWindow(QWidget *widget)
     : QWindow(*new QWidgetWindowPrivate(), 0)
     , m_widget(widget)
 {
+
     updateObjectName();
+    qDebug() << __FUNCTION__ << this << "widget=" << widget;
     // Enable QOpenGLWidget/QQuickWidget children if the platform plugin supports it,
     // and the application developer has not explicitly disabled it.
     if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::RasterGLSurface)
