From: Friedemann Kleint Date: Wed, 25 Apr 2012 14:51:04 +0000 (+0200) Subject: Fix recursion in qwidget gdiPainting test. X-Git-Tag: 071012110112~1393 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=021808c670d7af8d1e398824e94d97d7ed2e412b;p=profile%2Fivi%2Fqtbase.git Fix recursion in qwidget gdiPainting test. Change-Id: If4881dfecc6fc7cebcd3ed896846d34e35b3e3ae Reviewed-by: Jason McDonald --- diff --git a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp index 7cda463..ba2eb14 100644 --- a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp +++ b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp @@ -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; };