summaryrefslogtreecommitdiffstats
path: root/tests/auto/qwidget_window/tst_qwidget_window.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qwidget_window/tst_qwidget_window.cpp')
-rw-r--r--tests/auto/qwidget_window/tst_qwidget_window.cpp24
1 files changed, 23 insertions, 1 deletions
diff --git a/tests/auto/qwidget_window/tst_qwidget_window.cpp b/tests/auto/qwidget_window/tst_qwidget_window.cpp
index f059abe50..6dddfe8b7 100644
--- a/tests/auto/qwidget_window/tst_qwidget_window.cpp
+++ b/tests/auto/qwidget_window/tst_qwidget_window.cpp
@@ -78,6 +78,7 @@ private slots:
void tst_windowFilePath();
void tst_showWithoutActivating();
+ void tst_paintEventOnSecondShow();
};
void tst_QWidget_window::initTestCase()
@@ -150,7 +151,9 @@ class TestWidget : public QWidget
{
public:
int m_first, m_next;
- void reset(){ m_first = m_next = 0; }
+ bool paintEventReceived;
+
+ void reset(){ m_first = m_next = 0; paintEventReceived = false; }
bool event(QEvent *event)
{
switch (event->type()) {
@@ -162,6 +165,10 @@ public:
m_next = event->type();
else
m_first = event->type();
+ break;
+ case QEvent::Paint:
+ paintEventReceived = true;
+ break;
default:
break;
}
@@ -300,5 +307,20 @@ void tst_QWidget_window::tst_showWithoutActivating()
#endif // Q_WS_X11
}
+void tst_QWidget_window::tst_paintEventOnSecondShow()
+{
+ TestWidget w;
+ w.show();
+ w.hide();
+
+ w.reset();
+ w.show();
+#ifdef Q_WS_X11
+ QTest::qWait(500);
+#endif
+ QApplication::processEvents();
+ QVERIFY(w.paintEventReceived);
+}
+
QTEST_MAIN(tst_QWidget_window)
#include "tst_qwidget_window.moc"