Fix recursion in qwidget gdiPainting test.
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>
Wed, 25 Apr 2012 14:51:04 +0000 (16:51 +0200)
committerQt by Nokia <qt-info@nokia.com>
Wed, 25 Apr 2012 15:14:22 +0000 (17:14 +0200)
Change-Id: If4881dfecc6fc7cebcd3ed896846d34e35b3e3ae
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp

index 7cda463..ba2eb14 100644 (file)
@@ -7769,13 +7769,13 @@ void tst_QWidget::moveRect()
 #ifdef Q_OS_WIN
 class GDIWidget : public QDialog
 {
+    Q_OBJECT
 public:
     GDIWidget() { setAttribute(Qt::WA_PaintOnScreen); }
     QPaintEngine *paintEngine() const { return 0; }
 
 
     void paintEvent(QPaintEvent *) {
-        qDebug() << __FUNCTION__;
         QPlatformNativeInterface *ni = QGuiApplication::platformNativeInterface();
         const HDC hdc = (HDC)ni->nativeResourceForWindow(QByteArrayLiteral("getDC"), windowHandle());
         if (!hdc) {
@@ -7788,15 +7788,21 @@ public:
 
         ni->nativeResourceForWindow(QByteArrayLiteral("releaseDC"), windowHandle());
 
-        const QImage im = grab(QRect(QPoint(0, 0), size())).toImage();
-        color = im.pixel(1, 1);
-        QTimer::singleShot(0, this, SLOT(accept()));
+        QTimer::singleShot(0, this, SLOT(slotTimer()));
     }
 
     QSize sizeHint() const {
         return QSize(400, 300);
     }
 
+private slots:
+    void slotTimer() {
+        const QImage im = grab(QRect(QPoint(0, 0), size())).toImage();
+        color = im.pixel(1, 1);
+        accept();
+    }
+
+public:
     QColor color;
 };