diff options
Diffstat (limited to 'tests/auto/widgets/kernel')
-rw-r--r-- | tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp index 21e0286086..dd3d041f56 100644 --- a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp +++ b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp @@ -441,6 +441,8 @@ private slots: void mouseDoubleClickBubbling_QTBUG29680(); void largerThanScreen_QTBUG30142(); + void resizeStaticContentsChildWidget_QTBUG35282(); + private: bool ensureScreenSize(int width, int height); QWidget *testWidget; @@ -10220,5 +10222,26 @@ void tst_QWidget::largerThanScreen_QTBUG30142() QVERIFY(widget2.frameGeometry().x() >= 0); } +void tst_QWidget::resizeStaticContentsChildWidget_QTBUG35282() +{ + QWidget widget; + widget.resize(200,200); + + UpdateWidget childWidget(&widget); + childWidget.setAttribute(Qt::WA_StaticContents); + childWidget.setAttribute(Qt::WA_OpaquePaintEvent); + childWidget.setGeometry(250, 250, 500, 500); + + widget.show(); + QVERIFY(QTest::qWaitForWindowExposed(&widget)); + QVERIFY(childWidget.numPaintEvents == 0); + childWidget.reset(); + + widget.resize(1000,1000); + QVERIFY(QTest::qWaitForWindowExposed(&widget)); + QGuiApplication::sync(); + QVERIFY(childWidget.numPaintEvents >= 1); +} + QTEST_MAIN(tst_QWidget) #include "tst_qwidget.moc" |