Compilation of tst_qwidget.cpp.
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>
Fri, 29 Jul 2011 14:33:10 +0000 (16:33 +0200)
committerFriedemann Kleint <Friedemann.Kleint@nokia.com>
Fri, 29 Jul 2011 14:34:28 +0000 (16:34 +0200)
Change-Id: Id1af7f98e1ef615f31e3512b57d727eda8b91f1f
Reviewed-on: http://codereview.qt.nokia.com/2401
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
tests/auto/qwidget/tst_qwidget.cpp

index 5d4ef00..99b0694 100644 (file)
@@ -66,6 +66,7 @@
 #include <qtoolbar.h>
 #include <QtGui/qpaintengine.h>
 #include <QtGui/qbackingstore.h>
+#include <QtGui/qguiapplication.h>
 #include <qmenubar.h>
 #include <qtableview.h>
 
 
 #include <QtTest/QtTest>
 
+#if defined(Q_OS_WIN)
+#  include <QtCore/qt_windows.h>
+#  include <QtGui/private/qguiapplication_p.h>
+#  include <QtGui/QPlatformNativeInterface>
+#  include <QtGui/QPlatformIntegration>
+
+static HWND winHandleOf(const QWidget *w)
+{
+    static QPlatformNativeInterface *nativeInterface
+            = QGuiApplicationPrivate::instance()->platformIntegration()->nativeInterface();
+    if (void *handle = nativeInterface->nativeResourceForWindow("handle", w->window()->windowHandle()))
+        return reinterpret_cast<HWND>(handle);
+    qWarning() << "Cannot obtain native handle for " << w;
+    return 0;
+}
+#endif
+
 #if defined(Q_WS_WIN)
 #  include <qt_windows.h>
 #  if !defined(Q_OS_WINCE)
@@ -1240,7 +1258,7 @@ void tst_QWidget::visible_setWindowOpacity()
     QVERIFY( !testWidget->isVisible() );
     testWidget->setWindowOpacity(0.5);
 #ifdef Q_OS_WIN
-    QVERIFY(::IsWindowVisible(testWidget->winId()) ==  FALSE);
+    QVERIFY(::IsWindowVisible(winHandleOf(testWidget)) ==  FALSE);
 #endif
     testWidget->setWindowOpacity(1.0);
 }