diff --git a/src/gui/accessible/qaccessiblecache.cpp b/src/gui/accessible/qaccessiblecache.cpp
index 84d0936386..8bf032a66d 100644
--- a/src/gui/accessible/qaccessiblecache.cpp
+++ b/src/gui/accessible/qaccessiblecache.cpp
@@ -149,6 +149,8 @@ QAccessible::Id QAccessibleCache::insert(QObject *object, QAccessibleInterface *
     Q_ASSERT_X(!interfaceToId.contains(iface), "", "Accessible interface inserted into cache twice!");
 
     QAccessible::Id id = acquireId();
+    qDebug() << __FUNCTION__ << object << iface << "id" << Qt::hex << Qt::showbase << id;
+
     QObject *obj = iface->object();
     Q_ASSERT(object == obj);
     if (obj) {
@@ -198,7 +200,7 @@ void QAccessibleCache::objectDestroyed(QObject* obj)
 void QAccessibleCache::deleteInterface(QAccessible::Id id, QObject *obj)
 {
     QAccessibleInterface *iface = idToInterface.take(id);
-    qCDebug(lcAccessibilityCache) << "delete - id:" << id << " iface:" << iface;
+    qDebug() << "delete - id:" << id << " iface:" << iface;
     if (!iface) // the interface may be deleted already
         return;
     interfaceToId.take(iface);
diff --git a/src/plugins/platforms/windows/uiautomation/qwindowsuiaaccessibility.cpp b/src/plugins/platforms/windows/uiautomation/qwindowsuiaaccessibility.cpp
index 0903f5a618..8d2c0b4a1a 100644
--- a/src/plugins/platforms/windows/uiautomation/qwindowsuiaaccessibility.cpp
+++ b/src/plugins/platforms/windows/uiautomation/qwindowsuiaaccessibility.cpp
@@ -38,7 +38,6 @@
 ****************************************************************************/
 
 #include <QtGui/qtguiglobal.h>
-#if QT_CONFIG(accessibility)
 
 #include "qwindowsuiaaccessibility.h"
 #include "qwindowsuiamainprovider.h"
@@ -130,7 +129,9 @@ void QWindowsUiaAccessibility::notifyAccessibilityUpdate(QAccessibleEvent *event
 {
     if (!event)
         return;
-
+    qDebug() << __FUNCTION__ << event << "tp=" << event->type()
+               << Qt::hex << Qt::showbase << event->uniqueId()
+               << Qt::dec << Qt::noshowbase;
     switch (event->type()) {
         case QAccessible::PopupMenuStart:
             playSystemSound(QStringLiteral("MenuPopup"));
@@ -159,6 +160,7 @@ void QWindowsUiaAccessibility::notifyAccessibilityUpdate(QAccessibleEvent *event
 
     switch (event->type()) {
     case QAccessible::Focus:
+        qDebug() << __FUNCTION__ << "FOCUS!";
         QWindowsUiaMainProvider::notifyFocusChange(event);
         break;
     case QAccessible::StateChanged:
@@ -189,4 +191,3 @@ void QWindowsUiaAccessibility::notifyAccessibilityUpdate(QAccessibleEvent *event
 
 QT_END_NAMESPACE
 
-#endif // QT_CONFIG(accessibility)
diff --git a/src/plugins/platforms/windows/uiautomation/qwindowsuiabaseprovider.cpp b/src/plugins/platforms/windows/uiautomation/qwindowsuiabaseprovider.cpp
index 53c647512a..b27abc38b7 100644
--- a/src/plugins/platforms/windows/uiautomation/qwindowsuiabaseprovider.cpp
+++ b/src/plugins/platforms/windows/uiautomation/qwindowsuiabaseprovider.cpp
@@ -64,6 +64,8 @@ QWindowsUiaBaseProvider::~QWindowsUiaBaseProvider()
 QAccessibleInterface *QWindowsUiaBaseProvider::accessibleInterface() const
 {
     QAccessibleInterface *accessible = QAccessible::accessibleInterface(m_id);
+//    qDebug() << __FUNCTION__ << Qt::hex << Qt::showbase << m_id
+//             << Qt::dec << Qt::noshowbase << accessible;
     if (accessible && accessible->isValid())
         return accessible;
     return nullptr;
diff --git a/src/plugins/platforms/windows/uiautomation/qwindowsuiaexpandcollapseprovider.cpp b/src/plugins/platforms/windows/uiautomation/qwindowsuiaexpandcollapseprovider.cpp
index 6ac8de23fa..bf92660314 100644
--- a/src/plugins/platforms/windows/uiautomation/qwindowsuiaexpandcollapseprovider.cpp
+++ b/src/plugins/platforms/windows/uiautomation/qwindowsuiaexpandcollapseprovider.cpp
@@ -56,9 +56,13 @@ using namespace QWindowsUiAutomation;
 QWindowsUiaExpandCollapseProvider::QWindowsUiaExpandCollapseProvider(QAccessible::Id id) :
     QWindowsUiaBaseProvider(id)
 {
+    qDebug() << __FUNCTION__ << Qt::hex << Qt::showbase << id;
 }
 
-QWindowsUiaExpandCollapseProvider::~QWindowsUiaExpandCollapseProvider() = default;
+QWindowsUiaExpandCollapseProvider::~QWindowsUiaExpandCollapseProvider()
+{
+    qDebug() << __FUNCTION__  << Qt::hex << Qt::showbase << id();
+}
 
 HRESULT STDMETHODCALLTYPE QWindowsUiaExpandCollapseProvider::Expand()
 {
diff --git a/src/plugins/platforms/windows/uiautomation/qwindowsuiagriditemprovider.cpp b/src/plugins/platforms/windows/uiautomation/qwindowsuiagriditemprovider.cpp
index 93d360c40b..f3368b73ff 100644
--- a/src/plugins/platforms/windows/uiautomation/qwindowsuiagriditemprovider.cpp
+++ b/src/plugins/platforms/windows/uiautomation/qwindowsuiagriditemprovider.cpp
@@ -57,6 +57,7 @@ using namespace QWindowsUiAutomation;
 QWindowsUiaGridItemProvider::QWindowsUiaGridItemProvider(QAccessible::Id id) :
     QWindowsUiaBaseProvider(id)
 {
+    qDebug() << __FUNCTION__ << Qt::hex << Qt::showbase << id;
 }
 
 QWindowsUiaGridItemProvider::~QWindowsUiaGridItemProvider()
diff --git a/src/plugins/platforms/windows/uiautomation/qwindowsuiainvokeprovider.cpp b/src/plugins/platforms/windows/uiautomation/qwindowsuiainvokeprovider.cpp
index d09770bc81..7af4108d03 100644
--- a/src/plugins/platforms/windows/uiautomation/qwindowsuiainvokeprovider.cpp
+++ b/src/plugins/platforms/windows/uiautomation/qwindowsuiainvokeprovider.cpp
@@ -56,6 +56,7 @@ using namespace QWindowsUiAutomation;
 QWindowsUiaInvokeProvider::QWindowsUiaInvokeProvider(QAccessible::Id id) :
     QWindowsUiaBaseProvider(id)
 {
+    qDebug() << __FUNCTION__ << Qt::hex << Qt::showbase << id;
 }
 
 QWindowsUiaInvokeProvider::~QWindowsUiaInvokeProvider()
diff --git a/src/plugins/platforms/windows/uiautomation/qwindowsuiamainprovider.cpp b/src/plugins/platforms/windows/uiautomation/qwindowsuiamainprovider.cpp
index 43a53d7cfc..edcfe624e8 100644
--- a/src/plugins/platforms/windows/uiautomation/qwindowsuiamainprovider.cpp
+++ b/src/plugins/platforms/windows/uiautomation/qwindowsuiamainprovider.cpp
@@ -61,6 +61,7 @@
 
 #include <QtCore/qloggingcategory.h>
 #include <QtGui/qaccessible.h>
+#include <QtGui/private/qaccessiblecache_p.h>
 #include <QtGui/qguiapplication.h>
 #include <QtGui/qwindow.h>
 
@@ -98,19 +99,25 @@ QWindowsUiaMainProvider::QWindowsUiaMainProvider(QAccessibleInterface *a, int in
     : QWindowsUiaBaseProvider(QAccessible::uniqueId(a)),
       m_ref(initialRefCount)
 {
+    qDebug() << __FUNCTION__ << Qt::hex << Qt::showbase << id();
 }
 
 QWindowsUiaMainProvider::~QWindowsUiaMainProvider()
 {
+    qDebug() << __FUNCTION__  << Qt::hex << Qt::showbase << id();
 }
 
 void QWindowsUiaMainProvider::notifyFocusChange(QAccessibleEvent *event)
 {
-    if (QAccessibleInterface *accessible = event->accessibleInterface()) {
-        if (QWindowsUiaMainProvider *provider = providerForAccessible(accessible)) {
-            QWindowsUiaWrapper::instance()->raiseAutomationEvent(provider, UIA_AutomationFocusChangedEventId);
-        }
-    }
+    QAccessibleInterface *accessible = event->accessibleInterface();
+    QWindowsUiaMainProvider *provider = accessible ? providerForAccessible(accessible) : nullptr;
+    qDebug() << __FUNCTION__
+             <<   Qt::hex << Qt::showbase << event->uniqueId() << Qt::dec << Qt::noshowbase
+             << "accessible=" << accessible << "provider="
+             << provider;
+
+    if (provider)
+        QWindowsUiaWrapper::instance()->raiseAutomationEvent(provider, UIA_AutomationFocusChangedEventId);
 }
 
 void QWindowsUiaMainProvider::notifyStateChange(QAccessibleStateChangeEvent *event)
@@ -283,8 +290,7 @@ HRESULT QWindowsUiaMainProvider::get_ProviderOptions(ProviderOptions *pRetVal)
 // Return providers for specific control patterns
 HRESULT QWindowsUiaMainProvider::GetPatternProvider(PATTERNID idPattern, IUnknown **pRetVal)
 {
-    qCDebug(lcQpaUiAutomation) << __FUNCTION__ << idPattern;
-
+    static int   n= 0;
     if (!pRetVal)
         return E_INVALIDARG;
     *pRetVal = nullptr;
@@ -294,19 +300,42 @@ HRESULT QWindowsUiaMainProvider::GetPatternProvider(PATTERNID idPattern, IUnknow
         return UIA_E_ELEMENTNOTAVAILABLE;
 
     switch (idPattern) {
-    case UIA_WindowPatternId:
-        if (accessible->parent() && (accessible->parent()->role() == QAccessible::Application)) {
+    case UIA_WindowPatternId: {
+        auto r = QAccessible::NoRole;
+        if (accessible->parent())
+            r =accessible->parent()->role();
+        qDebug() << __FUNCTION__ << '#' << n
+                 << Qt::hex << Qt::showbase << id() << Qt::dec << Qt::noshowbase
+                 << "UIA_WindowPatternId" << r << accessible;
+        if (r == QAccessible::Application) {
             *pRetVal = new QWindowsUiaWindowProvider(id());
+            qDebug() << __FUNCTION__ << "std win";
+#if 0
+        } else if (r == QAccessible::Client) {
+            auto pId = QAccessibleCache::instance()->idForInterface(accessible->parent());
+            qDebug() << __FUNCTION__ << "parent id="
+                     << Qt::hex << Qt::showbase << pId << Qt::dec << Qt::noshowbase;
+            *pRetVal = new QWindowsUiaWindowProvider(pId);
+#endif
+        } else {
+            qDebug() << __FUNCTION__ << "No Provider";
         }
+    }
         break;
     case UIA_TextPatternId:
     case UIA_TextPattern2Id:
         // All text controls.
         if (accessible->textInterface()) {
+            qDebug() << __FUNCTION__ << '#' << n
+                     << Qt::hex << Qt::showbase << id() << Qt::dec << Qt::noshowbase
+                     << "UIA_TextPattern2Id" << Qt::hex << Qt::showbase << id();
             *pRetVal = new QWindowsUiaTextProvider(id());
         }
         break;
     case UIA_ValuePatternId:
+        qDebug() << __FUNCTION__  << '#' << n
+                 << Qt::hex << Qt::showbase << id() << Qt::dec << Qt::noshowbase
+                 << "UIA_ValuePatternId";
         // All non-static controls support the Value pattern.
         if (accessible->role() != QAccessible::StaticText)
             *pRetVal = new QWindowsUiaValueProvider(id());
@@ -323,12 +352,18 @@ HRESULT QWindowsUiaMainProvider::GetPatternProvider(PATTERNID idPattern, IUnknow
             *pRetVal = new QWindowsUiaToggleProvider(id());
         break;
     case UIA_SelectionPatternId:
+        qDebug() << __FUNCTION__  << '#' << n
+                 << Qt::hex << Qt::showbase << id() << Qt::dec << Qt::noshowbase
+                 << "UIA_SelectionPatternId";
         // Lists of items.
         if (accessible->role() == QAccessible::List) {
             *pRetVal = new QWindowsUiaSelectionProvider(id());
         }
         break;
     case UIA_SelectionItemPatternId:
+        qDebug() << __FUNCTION__  << '#' << n
+                 << Qt::hex << Qt::showbase << id() << Qt::dec << Qt::noshowbase
+                 << "UIA_SelectionItemPatternId";
         // Items within a list and radio buttons.
         if ((accessible->role() == QAccessible::RadioButton)
                 || (accessible->role() == QAccessible::ListItem)) {
@@ -380,6 +415,7 @@ HRESULT QWindowsUiaMainProvider::GetPatternProvider(PATTERNID idPattern, IUnknow
     default:
         break;
     }
+    n++;
 
     return S_OK;
 }
@@ -636,12 +672,14 @@ HRESULT QWindowsUiaMainProvider::GetRuntimeId(SAFEARRAY **pRetVal)
 // Returns the bounding rectangle for the accessible control.
 HRESULT QWindowsUiaMainProvider::get_BoundingRectangle(UiaRect *pRetVal)
 {
-    qCDebug(lcQpaUiAutomation) << __FUNCTION__ << this;
 
     if (!pRetVal)
         return E_INVALIDARG;
 
     QAccessibleInterface *accessible = accessibleInterface();
+    qDebug() << __FUNCTION__
+             << Qt::hex << Qt::showbase << id() << Qt::dec << Qt::noshowbase
+             << "accessible=" << accessible;
     if (!accessible)
         return UIA_E_ELEMENTNOTAVAILABLE;
 
@@ -649,6 +687,7 @@ HRESULT QWindowsUiaMainProvider::get_BoundingRectangle(UiaRect *pRetVal)
     if (!window)
         return UIA_E_ELEMENTNOTAVAILABLE;
 
+    qDebug() << __FUNCTION__ << "window=" << window << "rect=" << accessible->rect();
     rectToNativeUiaRect(accessible->rect(), window, pRetVal);
     return S_OK;
 }
diff --git a/src/plugins/platforms/windows/uiautomation/qwindowsuiarangevalueprovider.cpp b/src/plugins/platforms/windows/uiautomation/qwindowsuiarangevalueprovider.cpp
index 7c1827387a..7759264e7c 100644
--- a/src/plugins/platforms/windows/uiautomation/qwindowsuiarangevalueprovider.cpp
+++ b/src/plugins/platforms/windows/uiautomation/qwindowsuiarangevalueprovider.cpp
@@ -56,10 +56,12 @@ using namespace QWindowsUiAutomation;
 QWindowsUiaRangeValueProvider::QWindowsUiaRangeValueProvider(QAccessible::Id id) :
     QWindowsUiaBaseProvider(id)
 {
+    qDebug() << Qt::hex << Qt::showbase << id;
 }
 
 QWindowsUiaRangeValueProvider::~QWindowsUiaRangeValueProvider()
 {
+        qDebug() << __FUNCTION__  << Qt::hex << Qt::showbase << id();
 }
 
 HRESULT STDMETHODCALLTYPE QWindowsUiaRangeValueProvider::SetValue(double val)
diff --git a/src/plugins/platforms/windows/uiautomation/qwindowsuiaselectionitemprovider.cpp b/src/plugins/platforms/windows/uiautomation/qwindowsuiaselectionitemprovider.cpp
index a93a05c7bc..b2252f4e43 100644
--- a/src/plugins/platforms/windows/uiautomation/qwindowsuiaselectionitemprovider.cpp
+++ b/src/plugins/platforms/windows/uiautomation/qwindowsuiaselectionitemprovider.cpp
@@ -57,10 +57,12 @@ using namespace QWindowsUiAutomation;
 QWindowsUiaSelectionItemProvider::QWindowsUiaSelectionItemProvider(QAccessible::Id id) :
     QWindowsUiaBaseProvider(id)
 {
+    qDebug() << Qt::hex << Qt::showbase << id;
 }
 
 QWindowsUiaSelectionItemProvider::~QWindowsUiaSelectionItemProvider()
 {
+        qDebug() << __FUNCTION__  << Qt::hex << Qt::showbase << id();
 }
 
 // Selects the element (deselecting all others).
diff --git a/src/plugins/platforms/windows/uiautomation/qwindowsuiaselectionprovider.cpp b/src/plugins/platforms/windows/uiautomation/qwindowsuiaselectionprovider.cpp
index 3305e9c5c4..7a237a4892 100644
--- a/src/plugins/platforms/windows/uiautomation/qwindowsuiaselectionprovider.cpp
+++ b/src/plugins/platforms/windows/uiautomation/qwindowsuiaselectionprovider.cpp
@@ -58,10 +58,12 @@ using namespace QWindowsUiAutomation;
 QWindowsUiaSelectionProvider::QWindowsUiaSelectionProvider(QAccessible::Id id) :
     QWindowsUiaBaseProvider(id)
 {
+    qDebug() << Qt::hex << Qt::showbase << id;
 }
 
 QWindowsUiaSelectionProvider::~QWindowsUiaSelectionProvider()
 {
+    qDebug() << __FUNCTION__  << Qt::hex << Qt::showbase << id();
 }
 
 // Returns an array of providers with the selected items.
diff --git a/src/plugins/platforms/windows/uiautomation/qwindowsuiatableitemprovider.cpp b/src/plugins/platforms/windows/uiautomation/qwindowsuiatableitemprovider.cpp
index 1348ec7cc0..0969985945 100644
--- a/src/plugins/platforms/windows/uiautomation/qwindowsuiatableitemprovider.cpp
+++ b/src/plugins/platforms/windows/uiautomation/qwindowsuiatableitemprovider.cpp
@@ -57,10 +57,12 @@ using namespace QWindowsUiAutomation;
 QWindowsUiaTableItemProvider::QWindowsUiaTableItemProvider(QAccessible::Id id) :
     QWindowsUiaBaseProvider(id)
 {
+    qDebug() << Qt::hex << Qt::showbase << id;
 }
 
 QWindowsUiaTableItemProvider::~QWindowsUiaTableItemProvider()
 {
+    qDebug() << __FUNCTION__  << Qt::hex << Qt::showbase << id();
 }
 
 // Returns the providers for the row headers associated with the item.
diff --git a/src/plugins/platforms/windows/uiautomation/qwindowsuiatableprovider.cpp b/src/plugins/platforms/windows/uiautomation/qwindowsuiatableprovider.cpp
index 80086f1d4f..6da0bd427a 100644
--- a/src/plugins/platforms/windows/uiautomation/qwindowsuiatableprovider.cpp
+++ b/src/plugins/platforms/windows/uiautomation/qwindowsuiatableprovider.cpp
@@ -57,10 +57,12 @@ using namespace QWindowsUiAutomation;
 QWindowsUiaTableProvider::QWindowsUiaTableProvider(QAccessible::Id id) :
     QWindowsUiaBaseProvider(id)
 {
+    qDebug() << Qt::hex << Qt::showbase << id;
 }
 
 QWindowsUiaTableProvider::~QWindowsUiaTableProvider()
 {
+    qDebug() << __FUNCTION__  << Qt::hex << Qt::showbase << id();
 }
 
 // Gets the providers for all the row headers in the table.
diff --git a/src/plugins/platforms/windows/uiautomation/qwindowsuiatextprovider.cpp b/src/plugins/platforms/windows/uiautomation/qwindowsuiatextprovider.cpp
index 50ecfc7ecd..fd8709fd3f 100644
--- a/src/plugins/platforms/windows/uiautomation/qwindowsuiatextprovider.cpp
+++ b/src/plugins/platforms/windows/uiautomation/qwindowsuiatextprovider.cpp
@@ -56,10 +56,12 @@ using namespace QWindowsUiAutomation;
 QWindowsUiaTextProvider::QWindowsUiaTextProvider(QAccessible::Id id) :
     QWindowsUiaBaseProvider(id)
 {
+    qDebug() << __FUNCTION__ << Qt::hex << Qt::showbase << id;
 }
 
 QWindowsUiaTextProvider::~QWindowsUiaTextProvider()
 {
+    qDebug() << __FUNCTION__  << Qt::hex << Qt::showbase << id();
 }
 
 HRESULT STDMETHODCALLTYPE QWindowsUiaTextProvider::QueryInterface(REFIID iid, LPVOID *iface)
diff --git a/src/plugins/platforms/windows/uiautomation/qwindowsuiatextrangeprovider.cpp b/src/plugins/platforms/windows/uiautomation/qwindowsuiatextrangeprovider.cpp
index 3465c55bc4..97c558e2bf 100644
--- a/src/plugins/platforms/windows/uiautomation/qwindowsuiatextrangeprovider.cpp
+++ b/src/plugins/platforms/windows/uiautomation/qwindowsuiatextrangeprovider.cpp
@@ -60,11 +60,13 @@ QWindowsUiaTextRangeProvider::QWindowsUiaTextRangeProvider(QAccessible::Id id, i
     m_startOffset(startOffset),
     m_endOffset(endOffset)
 {
+    qDebug() << Qt::hex << Qt::showbase << id;
     qCDebug(lcQpaUiAutomation) << __FUNCTION__ << this << startOffset << endOffset;
 }
 
 QWindowsUiaTextRangeProvider::~QWindowsUiaTextRangeProvider()
 {
+    qDebug() << __FUNCTION__  << Qt::hex << Qt::showbase << id();
     qCDebug(lcQpaUiAutomation) << __FUNCTION__ << this;
 }
 
diff --git a/src/plugins/platforms/windows/uiautomation/qwindowsuiatoggleprovider.cpp b/src/plugins/platforms/windows/uiautomation/qwindowsuiatoggleprovider.cpp
index 32445e4ffb..4b9a7440c5 100644
--- a/src/plugins/platforms/windows/uiautomation/qwindowsuiatoggleprovider.cpp
+++ b/src/plugins/platforms/windows/uiautomation/qwindowsuiatoggleprovider.cpp
@@ -56,10 +56,12 @@ using namespace QWindowsUiAutomation;
 QWindowsUiaToggleProvider::QWindowsUiaToggleProvider(QAccessible::Id id) :
     QWindowsUiaBaseProvider(id)
 {
+    qDebug() << Qt::hex << Qt::showbase << id;
 }
 
 QWindowsUiaToggleProvider::~QWindowsUiaToggleProvider()
 {
+    qDebug() << __FUNCTION__  << Qt::hex << Qt::showbase << id();
 }
 
 // toggles the state by invoking the toggle action
diff --git a/src/plugins/platforms/windows/uiautomation/qwindowsuiavalueprovider.cpp b/src/plugins/platforms/windows/uiautomation/qwindowsuiavalueprovider.cpp
index 9b41162d45..6b4eb6aa5e 100644
--- a/src/plugins/platforms/windows/uiautomation/qwindowsuiavalueprovider.cpp
+++ b/src/plugins/platforms/windows/uiautomation/qwindowsuiavalueprovider.cpp
@@ -56,10 +56,12 @@ using namespace QWindowsUiAutomation;
 QWindowsUiaValueProvider::QWindowsUiaValueProvider(QAccessible::Id id) :
     QWindowsUiaBaseProvider(id)
 {
+    qDebug() << Qt::hex << Qt::showbase << id;
 }
 
 QWindowsUiaValueProvider::~QWindowsUiaValueProvider()
 {
+    qDebug() << __FUNCTION__  << Qt::hex << Qt::showbase << id();
 }
 
 // Sets the value associated with the control.
diff --git a/src/plugins/platforms/windows/uiautomation/qwindowsuiawindowprovider.cpp b/src/plugins/platforms/windows/uiautomation/qwindowsuiawindowprovider.cpp
index 3738aa72ff..a51dddd6c7 100644
--- a/src/plugins/platforms/windows/uiautomation/qwindowsuiawindowprovider.cpp
+++ b/src/plugins/platforms/windows/uiautomation/qwindowsuiawindowprovider.cpp
@@ -57,10 +57,12 @@ using namespace QWindowsUiAutomation;
 QWindowsUiaWindowProvider::QWindowsUiaWindowProvider(QAccessible::Id id) :
     QWindowsUiaBaseProvider(id)
 {
+      qDebug() << __FUNCTION__ << Qt::hex << Qt::showbase << id;
 }
 
 QWindowsUiaWindowProvider::~QWindowsUiaWindowProvider()
 {
+    qDebug() << __FUNCTION__  << Qt::hex << Qt::showbase << id();
 }
 
 HRESULT STDMETHODCALLTYPE QWindowsUiaWindowProvider::SetVisualState(WindowVisualState state) {
